10

Используя терминал Mac OS X, как мне написать команду find которая упорядочивает результаты по дате изменения (сначала самое последнее)?

Уже есть подобные вопросы, но они относятся к GNU find и POSIX, но я не знаю, является ли Mac OS X GNU или POSIX или чем-то еще.

1 ответ1

12

OS X полностью совместима с POSIX .

Нечто подобное должно делать:

find . -type f -name "*.txt" -print0 | xargs -0 ls -tl

Некоторые заметки:

  • Опция -t в ls будет сортировать по mtime .
  • xargs используется для передачи имен файлов в качестве аргумента ls . Обратите внимание, что вы должны использовать -print0 в find и -0 в xargs если у вас есть файлы с пробелами в их именах. Также максимальное количество аргументов ограничено переменной ARG_MAX . Чтобы узнать, сколько их, введите getconf ARG_MAX .
  • Вы можете указать -r чтобы изменить порядок сортировки (→ сначала самые старые файлы)
  • Другие опции find и ls , как обычно, описаны в руководствах (man find или man ls).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .