Если я не ошибаюсь, оболочка представляет выходные данные lsв нескольких столбцах, но выходные данные lsпередаются по следующей команде с 1 файлом / dir за раз
Alex
похоже, так оно и есть. Хорошее упрощение.
Пол Рубел
3
Это игнорирует итог наверху:ls -1t | head -n 6 | tail -n 5
Райан
1
Я не вижу общего, но если есть тот, который, безусловно, будет работать.
Пол Рубел
18
В принятом ответе перечислены только имена файлов, но для получения 5 лучших файлов можно также использовать:
ls -lht | head -6
где:
-l вывод в виде списка
-h делает вывод понятным человеку (т.е. размеры файлов отображаются в килобайтах, мб и т. д.)
-t сортирует вывод, помещая сначала последний измененный файл
head -6покажет 5 файлов, потому что lsпечатает размер блока в первой строке вывода.
Я думаю, что это немного более элегантный и, возможно, более полезный подход.
Пример вывода:
total 26960312
-rw-r--r--@ 1 user staff 1.2K 11 Jan 11:22 phone2.7.py
-rw-r--r--@ 1 user staff 2.7M 10 Jan 15:26 03-cookies-1.pdf
-rw-r--r--@ 1 user staff 9.2M 9 Jan 16:21 Wk1_sem.pdf
-rw-r--r--@ 1 user staff 502K 8 Jan 10:20 lab-01.pdf
-rw-rw-rw-@ 1 user staff 2.0M 5 Jan 22:06 0410-1.wmv
Это дает 5 самых старых. Вам нужно повернуть sort ( ls -tr) или использовать headвместо tail, чтобы получить 5 самых новых.
Headbank
2
По умолчанию ls -tсортировка выводится от самого нового к старому, поэтому комбинация используемых команд зависит от того, в каком направлении вы хотите упорядочить вывод.
Для самых новых 5 файлов, упорядоченных от самого нового до самого старого, используйте headдля получения первых 5 строк вывода:
ls -t | head -n 5
Для самых новых 5 файлов, упорядоченных от самых старых до самых новых, используйте -rпереключатель, чтобы изменить lsпорядок сортировки, и используйте tailдля получения последних 5 строк вывода:
ls -tсписок файлов по времени создания, а не времени последнего изменения. Используйте, ls -ltcесли вы хотите, чтобы список файлов по времени последнего изменения от последнего к первому (сверху вниз). Таким образом, чтобы перечислить последние n:ls -ltc | head ${n}
На какую платформу / версию вы ссылаетесь? Можете ли вы предоставить ссылку? Глядя на man-страницу linux, вы получаете противоположное тому, что вы заявляете: -t sort by modification time, newest first
ls -lrt
может помочь кому-то.tharl
ней, так как она имеет все, что мне нужно.Ответы:
Попробуйте использовать голову или хвост. Если вы хотите 5 самых последних измененных файлов:
-1 (это единица) говорит, что по одному файлу на строку, а глава говорит, что возьмите первые 5 записей.
Если вы хотите последние 5 попыток
источник
ls
в нескольких столбцах, но выходные данныеls
передаются по следующей команде с 1 файлом / dir за разls -1t | head -n 6 | tail -n 5
В принятом ответе перечислены только имена файлов, но для получения 5 лучших файлов можно также использовать:
ls -lht | head -6
где:
-l
вывод в виде списка-h
делает вывод понятным человеку (т.е. размеры файлов отображаются в килобайтах, мб и т. д.)-t
сортирует вывод, помещая сначала последний измененный файлhead -6
покажет 5 файлов, потому чтоls
печатает размер блока в первой строке вывода.Я думаю, что это немного более элегантный и, возможно, более полезный подход.
Пример вывода:
total 26960312 -rw-r--r--@ 1 user staff 1.2K 11 Jan 11:22 phone2.7.py -rw-r--r--@ 1 user staff 2.7M 10 Jan 15:26 03-cookies-1.pdf -rw-r--r--@ 1 user staff 9.2M 9 Jan 16:21 Wk1_sem.pdf -rw-r--r--@ 1 user staff 502K 8 Jan 10:20 lab-01.pdf -rw-rw-rw-@ 1 user staff 2.0M 5 Jan 22:06 0410-1.wmv
источник
Используйте
tail
команду:источник
ls -tr
) или использоватьhead
вместоtail
, чтобы получить 5 самых новых.По умолчанию
ls -t
сортировка выводится от самого нового к старому, поэтому комбинация используемых команд зависит от того, в каком направлении вы хотите упорядочить вывод.Для самых новых 5 файлов, упорядоченных от самого нового до самого старого, используйте
head
для получения первых 5 строк вывода:Для самых новых 5 файлов, упорядоченных от самых старых до самых новых, используйте
-r
переключатель, чтобы изменитьls
порядок сортировки, и используйтеtail
для получения последних 5 строк вывода:источник
ls -t
список файлов по времени создания, а не времени последнего изменения. Используйте,ls -ltc
если вы хотите, чтобы список файлов по времени последнего изменения от последнего к первому (сверху вниз). Таким образом, чтобы перечислить последние n:ls -ltc | head ${n}
источник
-t sort by modification time, newest first