LS - сортировка по дате, отображение только имени файла - PullRequest
0 голосов
/ 17 мая 2019

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

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

ls -f *

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

ls -ltr *

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

ls -ltr -f *

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

Есть идеи, как мне это сделать с помощью простой команды ls?

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

ls -ltr -f * | tail -10

Ответы [ 2 ]

1 голос
/ 17 мая 2019

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

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

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

0 голосов
/ 17 мая 2019

В соответствии с руководством для ls, флаг -f используется для

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

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

ls -p | grep -v /

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

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

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