
Я пытаюсь выполнить поиск строки в папке с помощью grep.
grep -r "word" .
Но это включает поиск в файлах .git, чего я хотел бы избежать.
Спасибо
решение1
Если вы хотите исключить .git
каталоги:
grep --exclude-dir=".git" -r "word" .
Это работает в GNU grep
, но не в других версиях, но поскольку вы, судя по всему, используете Linux, то все должно быть в порядке.
решение2
попробуйте 'ack' (http://beyondgrep.com/), он игнорирует .git, .hg, .csv и т. д. и т. п. по отдельности:
По умолчанию выполняется поиск по всем деревьям, при этом игнорируются каталоги Subversion, Git и других систем контроля версий, а также другие файлы, которые не являются исходным кодом.
решение3
Это более гибкое решение для случая, если у вас grep
не поддерживается исключение каталогов:
найти . -тип d -путь */.git -prune -o -тип f -print0 | xargs -0 -e grep word