Страницы

Поиск по вопросам

воскресенье, 2 февраля 2020 г.

гибкий поиск вхождения слова через grep

#linux #grep


Нужно найти вхождение слова или фразы, в текстовых файлах по проекту.
Папок очень много. Делаю таким образом:
grep -rwi "phrase" /path-to/project
Ищет все вхождения. Но, допустим я хочу исключить из поиска 2-3 папки внутри проекта,
в которых искать не нужно, как это сделать без перебора папок вручную?
    


Ответы

Ответ 1



Исключите директории через параметр --exclude-dir=. В качестве значения - шаблон имени (имён) который требуется исключить. P. S. Кстати, вам так же может пригодиться аналогичный вопрос на "материнском" ресурсе - https://stackoverflow.com/questions/6565471/how-can-i-exclude-directories-from-grep-r. Он содержит не мало примеров, а так же варианты с использованием find.

Ответ 2



ls -la **/* | grep '^d' | grep -vi "down*" | grep -wi "phrase" теперь подробнее: ls -la **/* - выдает все файлы от текущей директории и субдиректории | grep '^d' - из этого списка выбирает папки только | grep -vi "down*" - из этого выбирает те папки, которые не начинаются с down* | grep -rwi "phrase" - это уже ваш поиск

Комментариев нет:

Отправить комментарий