Предположим, я составил список и отсортировал файлы по его временному атрибуту:
ls -ltr
-rwxrwxrwx 1 bla bla 4096 Feb 01 20:10 foo1
-rwxrwxrwx 1 bla bla 4096 Feb 01 20:12 foo2
.
.
.
-rwxrwxrwx 1 bla bla 4096 Mar 05 13:25 foo1000
Что я должен добавить после ls -ltr в цепочке каналов, чтобы получить только последнюю строку в списке? Я знаю, что есть sed и awk, но я не знаю, как их использовать, я знаю только то, что они могут сделать.
command-line
sed
awk
ls
Абдул Аль Хазред
источник
источник
sed -n '$p'
делает то же самое, но на самом делеtail -1
это правильный инструмент для работы.sed '$!d s/.*: 0\+//' /proc/cpuinfo
Вы ищете
tail
:Это отобразит только последнюю строку
ls -ltr
выходных данных. Вы можете контролировать количество строк, изменяя значение после-n
; если вы-n 1
полностью пропустите, вы получите десять строк.источник
tail -1
...-n
избыточно.tail -1
осуждается (смотрите раздел «ПОЯСНЕНИЙ» из спецификации POSIX дляtail
или последней части ГНУtails
руководства ); на данный момент это все еще работает, но лучше избегать использования в примерах.С awk:
источник