Вы здесь

Как найти файлы с определенным содержимым

Используем команду grep для поиска файлов по содержимому

Введите следующие команды:

grep 'string' *.txt
grep 'main(' *.c
grep '#include<example.h>' *.c
grep 'getChar*' *.c
grep -i 'ultra' *.conf
grep -iR 'ultra' *.conf

где

  • -i: Игнорирует регистр букв и в шаблоне (верными будут строки valid, VALID, ValID) и названиях файлов поиска (к примеру file.c
  • FILE.c FILE.C).

  • -R: Проверяет все файлы в каждой вложенной директории, рекурсивно.

Подсвечиваем найденные шаблоны

Вы можете легко подсветить найденные вхождения шаблона:

grep --color=auto -iR 'getChar();' *.c

Выводим имена файлов и номера строк, где найден шаблон.

Также может оказаться полезным отображать имя файла и номер строки с найденным шаблоном.

grep --color=auto -iRnH 'getChar();' *.c

Где,

  • -n: Номер строки, в которой содержится нужный шаблон поиска.
  • -H: Печататься имя файла для каждого совпадения.
grep --color=auto -nH 'DIR' *

Результат:
Результат

Вы так же можете использовать команду find.

find . -name "*.c" -print | xargs grep "main("

Оригинал статьи: http://guruadmin.ru/page/kak-najti-fajly-s-opredelennym-soderzhimym-v-unix.