Я работаю в UNIX / Linux с 1984/1991 года соответственно, и первая команда, которой меня научили, была команда find. Linux / GNU поместил почти все, что вам нужно, в текущую команду поиска, так что поиграйте с ней.
Вот несколько полезных советов по сортировке результатов поиска. Опция -printf предоставляет вам множество опций для более сложной сортировки и представления информации о файле. Это лучшее для таких проблем. Поиграйте с ним, чтобы увидеть, что будет работать для вас. Используя -printf вы можете настроить и разграничить результаты так, как вы хотите. Это очень помогает, когда вам нужно опубликовать результаты обработки. Я надеюсь, что это помогает кому-то.
Если вы используете -ls и хотите отсортировать по имени файла, 11-е поле - это имя файла, поэтому вы можете сделать следующее. Опция sort -k также может принимать несколько полей для сортировки.
найти / путь -ls | сортировка -k11
Если вы хотите более точный контроль зернистости по дате / времени в порядке возрастания или убывания, используйте опцию -printf "". См. Руководство для получения более подробной информации, но ниже приведен пример, который будет печататься за доли секунды, поэтому он очень точный.
ПРИМЕР. ДАТА / ВРЕМЯ: 2016-09-17 + 12: 09: 57.9013929800
find /path -printf "%T+ %p\n" | sort -n # Ascending
find /path -printf "%T+ %p\n" | sort -nr # Descending
Другой способ сделать это без символов в строке даты / времени -.
ПРИМЕР ДАТА / ВРЕМЯ: 20160917120013.8101685040
find /path -printf "%AY%Am%Ad%AH%AM%AS %p\n" | sort -n