#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" - это уже ваш поиск
Комментариев нет:
Отправить комментарий