Cómo evitar .git al buscar una cadena usando grep

Cómo evitar .git al buscar una cadena usando grep

Estoy intentando realizar una búsqueda en una carpeta de una cadena usando grep.

grep -r "word" .

Pero incluye una búsqueda en archivos .git que me gustaría evitar.

Gracias

Respuesta1

Si desea excluir .gitdirectorios:

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

Esto funciona en GNU grep, no en otras versiones, pero como parece que estás usando Linux, debería estar bien.

Respuesta2

prueba 'ack' (http://beyondgrep.com/), ignora .git, .hg, .csv, etc., etc. por sí solo:

Busca árboles completos de forma predeterminada mientras ignora Subversion, Git y otros directorios VCS y otros archivos que no son su código fuente.

Respuesta3

Esta es una solución más flexible para el caso si grepno admite la exclusión de directorios:

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

información relacionada