1

Как я могу найти все файлы в определенном каталоге, который содержит определенную последовательность строк, например, "superuser"

т.е. поиск всех файлов в текущем каталоге и подкаталогах (рекурсивно), если они содержат мир "superuser"

1 ответ1

2

опция grep -R делает это:

grep -R "superuser" .

РЕДАКТИРОВАТЬ: чтобы искать только файлы .mp3 и возвращать их имена (не совпадающее содержимое, так как они в любом случае не являются текстовыми файлами), используйте find для получения списка .mp3, а затем используйте xargs для передачи их в grep -l:

find . -name "*.mp3" -print0 | xargs -0 grep -l "superuser"

Если ваша версия find поддерживает -exec ... + (и, по крайней мере, в последних версиях OS X), вы можете запустить find grep напрямую:

find . -name "*.mp3" -exec grep -l "superuser" {} +

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