Вы не вошли.
Хотелось бы найти способ поиска всех файлов, которые содержат заданный текст. Именно текст внутри файлов, а не в названиях.
grep -rnw '/путь/к/папке/с/файлами' -e "шаблон"
-r или -R - рекурсивный поиск.
-n - вывод номера строки.
-w - только целые слова.
-l (нижний регистр от L) - вывод имени файла, где было совпадение.
Эффективности добавят следующие флаги:
--exclude - Шаблон для исключения файлов, например: поиск везде, кроме файлов с расширением .o:
grep --exclude=*.o -rnw '/путь/к/папке/с/файлами' -e "шаблон"
--include - Поиск только в определённых файлах, например: только в файлах с расширениями .h и .c:
grep --include=\*.{c,h} -rnw '/путь/к/папке/с/файлами' -e "шаблон"
--exclude-dir и --include-dir - то же, только для выборки директорий, например: исключить папки один, two и любые, начинающиеся на а:
grep --exclude-dir={один,two,а*} -rnw '/путь/к/папке/с/файлами' -e "шаблон"
Это отлично работает для подобных целей, остальные настройки для grep можно узнать, выполнив man grep.
Думай дважды, кодь однажды. (c) cOR
Offline