LS - сортировка по дате, отображение только имени файла

Я пытаюсь перечислить некоторые файлы, но я хочу только имена файлов, в порядке даты файла. Я пробовал несколько команд, но они не работают.

Я знаю, что с помощью этого кода я могу перечислить только имена файлов:

ls -f *

И я знаю, что с помощью этой команды я могу перечислить файлы, отсортированные по дате:

ls -ltr *

Поэтому я попытался использовать эту команду, чтобы вывести только имена файлов, отсортированные по дате, но не по дате:

ls -ltr -f *

Эта последняя команда просто перечисляет имена файлов, но сортируется по имени файла, а не по дате.

Любые идеи, как я могу сделать это с помощью простой команды ls?

К вашему сведению, как только я получу эту работу, моей конечной целью будет перечислить только 10 последних созданных имен файлов, используя что-то вроде этого:

ls -ltr -f * | tail -10

Всего 2 ответа


Вы можете попробовать следующую команду:

ls -ltr | awk '{ print $9 }' | tail -n +2

Он извлекает имена файлов из команды ls -ltr.


Согласно man-странице для ls , флаг -f используется для

       -f     do not sort, enable -aU, disable -ls --color

Один из способов извлечь только файлы,

ls -p | grep -v /

Опция -p используется для добавления '/' к имени каталога, мы можем использовать строки, не содержащие '/'.

Чтобы извлечь 10 последних использованных файлов, вы можете сделать следующее

ls -ptr * | grep -v / | tail -10

Есть идеи?

10000