Я знаю, ls -t
будет перечислять все файлы по времени изменения. Но как я могу ограничить эти результаты только последними n файлами?
tharl
ней, так как она имеет все, что мне нужно.
Я знаю, ls -t
будет перечислять все файлы по времени изменения. Но как я могу ограничить эти результаты только последними n файлами?
tharl
ней, так как она имеет все, что мне нужно.
Ответы:
Попробуйте использовать голову или хвост. Если вы хотите 5 самых последних измененных файлов:
ls -1t | head -5
-1 (это единица) говорит, что по одному файлу на строку, а глава говорит, что возьмите первые 5 записей.
Если вы хотите последние 5 попыток
ls -1t | tail -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
По умолчанию ls -t
сортировка выводится от самого нового к старому, поэтому комбинация используемых команд зависит от того, в каком направлении вы хотите упорядочить вывод.
Для самых новых 5 файлов, упорядоченных от самого нового до самого старого, используйте head
для получения первых 5 строк вывода:
ls -t | head -n 5
Для самых новых 5 файлов, упорядоченных от самых старых до самых новых, используйте -r
переключатель, чтобы изменить ls
порядок сортировки, и используйте tail
для получения последних 5 строк вывода:
ls -tr | tail -n 5
ls -t
список файлов по времени создания, а не времени последнего изменения. Используйте, ls -ltc
если вы хотите, чтобы список файлов по времени последнего изменения от последнего к первому (сверху вниз). Таким образом, чтобы перечислить последние n:ls -ltc | head ${n}
-t sort by modification time, newest first
ls -lrt
может помочь кому-то.