Как отсортировать вывод 'locate' по времени изменения файла

Когда я использую locate Я часто желаю, чтобы выходные данные были отсортированы в обратном хронологическом порядке, как ls -rtc, Какой самый простой способ добиться этого?

1 ответ

Решение

Самый простой способ добиться этого - передать список файлов с помощью последовательности команд:

locate your-search-term |
  xargs stat --printf '%.Y\t%n\n' |
  sort -n -r |
  cut -f 2-

Первая строка находит ваши файлы - вы уже знаете это. Вторая строка stat -sa файл и печатает время последней модификации (секунды эпох) и путь к файлу для каждого найденного имени файла. Третья строка сортирует строки по убыванию. Последняя строка сокращает время модификации и разделитель из каждой строки, оставляя исходный путь.

Другие вопросы по тегам