Как найти файлы, содержащие заданную строку в командной строке

find . -type f -exec grep -ils stringtofind {} +


Эта команда используется для поиска файлов, содержащих заданную строку.

find .: ищет файлы в текущем каталоге и его подкаталогах.
-type f: ищет только обычные файлы.
-exec grep -ils stringtofind {} +: выполняет команду grep -ils stringtofind для каждого найденного файла.
grep: команда для поиска текста в файлах.
-i: игнорирует регистр символов при поиске.
-l: выводит только имена файлов, содержащих заданную строку.
-s: подавляет вывод сообщений об ошибках.
stringtofind: строка, которую нужно найти.
{}: плейсхолдер, заменяется именами найденных файлов.
+: заканчивает команду -exec и группирует найденные файлы, чтобы избежать вызова grep для каждого файла по отдельности.

Альтернативой может быть использование команды ack или ag, которые являются более быстрыми и удобными в использовании для поиска текста в файлах.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *