Возможный дубликат:
Как я могу найти в исходных файлах текст?
Какая команда для поиска определенного текста в определенных типах файлов, рекурсивно, в текущем каталоге?
Возможный дубликат:
Как я могу найти в исходных файлах текст?
Какая команда для поиска определенного текста в определенных типах файлов, рекурсивно, в текущем каталоге?
ack-grep
, вы можете использовать примеры в вопросе в качестве начала (как я уже сказал), то естьfind | xargs | grep
строки. Для конкретного выводаman grep
всегда полезно прочитать.grep -r --include=*.<type> "<string>" .
, и это сработало. К сожалению, страница руководства не очень проста в упоминании конечной точки.Ответы:
Эта команда запускает поиск в локальном каталоге (.) Для любых файлов с именами, соответствующими шаблону * .extension, а затем запускает grep для «строки» в результатах поиска . Обратите внимание, что find по своей сути рекурсивен. Пока вы можете отличить нужные файлы от файлов, которые вы не основали на имени, это должно работать для вас.
источник
print0
опцию, чтобы быть более безопасным.find -print0
не поможет, также используйтеxargs -0
:find . -type f -name "*.ext" -print0 | xargs -0 grep "string"
Чтобы отобразить имя файла, номер строки в указанном файле и строка текста:
Он будет работать только в текущем каталоге, но он отформатирует его для вас.
источник