Заметки программиста

Рекурсивный поиск с помощью grep

Чтобы выполнить рекурсивный поиск с помощью grep и вывести только пути к файлам, используйте опцию -l

Синтаксис:

sh

grep -r -l "искомый_текст" .

Разбор команды:

  • grep: базовая команда для поиска по содержимому файлов.
  • -r: выполняет рекурсивный поиск во всех подкаталогах.
  • -l: подавляет вывод строк, содержащих совпадения, и вместо этого печатает только имена файлов, в которых они были найдены.
  • "искомый_текст": шаблон, который вы ищете.
  • .: указывает, что поиск нужно начинать с текущего каталога. 

Пример:

Чтобы найти файлы, содержащие слово привет, в текущем каталоге и всех его подкаталогах:

sh

grep -r -l "привет" .

Дополнительные опции:

  • Игнорирование регистра: Для поиска без учета регистра добавьте опцию -i.shgrep -r -i -l "привет" . Используйте код с осторожностью.
  • Исключение каталогов: Если вы хотите исключить определённые каталоги, используйте --exclude-dir.shgrep -r -l --exclude-dir=node_modules "искомый_текст" . Используйте код с осторожностью.
  • Поиск файлов без совпадений: Чтобы вывести список файлов, в которых нет искомого текста, используйте опцию -L (заглавная L).shgrep -r -L "искомый_текст" . Используйте код с осторожностью. 

ИИ может ошибаться. Советуем проверять его ответы.