Как я могу найти все файлы в определенном каталоге, который содержит определенную последовательность строк, например, "superuser"
т.е. поиск всех файлов в текущем каталоге и подкаталогах (рекурсивно), если они содержат мир "superuser"
Как я могу найти все файлы в определенном каталоге, который содержит определенную последовательность строк, например, "superuser"
т.е. поиск всех файлов в текущем каталоге и подкаталогах (рекурсивно), если они содержат мир "superuser"
опция 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" {} +