Como evitar .git ao procurar uma string usando grep

Como evitar .git ao procurar uma string usando grep

Estou tentando fazer uma busca em uma pasta por uma string usando grep.

grep -r "word" .

Mas inclui uma pesquisa em arquivos .git que eu gostaria de evitar.

Obrigado

Responder1

Se você quiser excluir .gitdiretórios:

grep --exclude-dir=".git" -r "word" .

Isso funciona no GNU grep, não em outras versões, mas como você parece estar usando Linux, tudo bem.

Responder2

tente 'ack' (http://beyondgrep.com/), ele ignora .git, .hg, .csv etc etc por si só:

Pesquisa árvores inteiras por padrão, ignorando Subversion, Git e outros diretórios VCS e outros arquivos que não são seu código-fonte.

Responder3

Esta é uma solução mais flexível para o caso se você grepnão suportar a exclusão de diretórios:

encontrar . -type d -path */.git -prune -o -type f -print0 | xargs -0 -e grep palavra

informação relacionada