@DVoropaev
Ставлю + к карме на хабре за ответы на вопросы

Как с помощью команды grep сделать поиск строки только в определенных файлах?

Допустим, я хочу найти файл, в котором есть определенная строка.
Я могу сделать так:

grep -r "строка" /путь

но файлов слишком много, а я знаю, что мне нужен файл. оканчивающийся на .conf
Я пробовал сделать так:

grep -r "строка" /путь/*.conf

но он стал искать директорию. заканчивающуюся на .conf
  • Вопрос задан
  • 473 просмотра
Пригласить эксперта
Ответы на вопрос 3
longclaps
@longclaps
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
find -type f -name "/путь/*.conf" | xargs -n 10 grep "строка"
Ответ написан
Комментировать
shambler81
@shambler81 Куратор тега Linux
find . -regex ".*\.conf" -exec grep -f "тут что ищем" {} \;

получишь имена файлов в которых есть упоменание твоей строки
А вот пример если тебе нужно заменить
например во всех файлах поменять одно значение ( регулярка писалась для делбиана там несколько php.ini)
find . -name 'php.ini' -exec sed -i 's/log_errors = Off/log_errors = On/g' "{}" \;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы