Как отсортировать вывод рекурсивного «grep -lr» в хронологическом порядке по дате последней модификации? - PullRequest
0 голосов
/ 20 февраля 2019

Я хочу получить список всех файлов в текущем каталоге или любом подкаталоге, содержащих определенную строку, отсортированную по дате изменения.

У меня проблемы с получением ответа на

Как отсортировать выходные данные "grep -l" в хронологическом порядке по дате последней модификации?

, чтобы работать с целью рекурсивного поиска grep.Как получить такой упорядоченный список, чтобы все файлы, которые были бы найдены grep -lr, действительно были включены.

1 Ответ

0 голосов
/ 21 февраля 2019

Если в именах ваших файлов нет новых строк:

find dir -type f -printf '%T@\t%p\n' | sort | cut -f2- | xargs grep -l whatever

Более надежно использовать версии инструментов GNU для работы с именами файлов / каталогов, содержащих экзотические символы:

find dir -type f -printf '%T@\t%p\0' | sort -z | cut -z -f2- | xargs -0 grep -l whatever
...