Я працюю в UNIX / Linux з 1984/1991 відповідно, і була знайдена перша команда, яку я навчав. Linux / GNU помістила майже все, що вам потрібно, в поточну команду find, тому пограйте з нею.
Ось кілька корисних порад щодо сортування результатів пошуку. Опція -printf надає безліч варіантів, щоб увімкнути більш складне сортування та подання інформації про файли. Це найкраще для подібних проблем. Пограйте з ним, щоб побачити, що буде працювати для вас. Використовуючи -printf, ви можете налаштувати та розмежувати результати так, як вам потрібно. Це дуже допомагає, коли вам потрібно опублікувати обробку результатів. Я сподіваюся, що це комусь допоможе.
Якщо ви використовуєте -ls і хочете сортувати за назвою файла, 11-е поле - це ім'я файлу, тож ви можете зробити наступне. Параметр сортування -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