Как отсортировать вывод 'locate' по времени изменения файла
Когда я использую locate
Я часто желаю, чтобы выходные данные были отсортированы в обратном хронологическом порядке, как ls -rtc
, Какой самый простой способ добиться этого?
1 ответ
Решение
Самый простой способ добиться этого - передать список файлов с помощью последовательности команд:
locate your-search-term |
xargs stat --printf '%.Y\t%n\n' |
sort -n -r |
cut -f 2-
Первая строка находит ваши файлы - вы уже знаете это. Вторая строка stat
-sa файл и печатает время последней модификации (секунды эпох) и путь к файлу для каждого найденного имени файла. Третья строка сортирует строки по убыванию. Последняя строка сокращает время модификации и разделитель из каждой строки, оставляя исходный путь.