12

Возможный дубликат:
Как я могу найти в исходных файлах текст?

Какая команда для поиска определенного текста в определенных типах файлов, рекурсивно, в текущем каталоге?

2 ответа2

11
find . -type f -name '*.extension' | xargs grep "string"

Эта команда запускает поиск в локальном каталоге (.) Для любых файлов с именами, соответствующими шаблону * .extension, а затем запускает grep для "строки" в результатах поиска. Обратите внимание, что find по своей сути рекурсивен. Пока вы можете отличать нужные файлы от файлов, которые вы не основали на имени, это должно работать для вас.

0

Чтобы отобразить имя файла, номер строки в указанном файле и строка текста:

for x in *.xxx; do [ -r $x ] | cat $x | grep -n TEXT | xargs printf "$x:%s\n";done

Он будет работать только в текущем каталоге, но он отформатирует его для вас.

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