So vermeiden Sie .git bei der Suche nach einer Zeichenfolge mit grep

So vermeiden Sie .git bei der Suche nach einer Zeichenfolge mit grep

Ich versuche, mit grep in einem Ordner nach einer Zeichenfolge zu suchen.

grep -r "word" .

Es beinhaltet jedoch eine Suche in .git-Dateien, die ich vermeiden möchte.

Danke

Antwort1

.gitWenn Sie Verzeichnisse ausschließen möchten :

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

Dies funktioniert unter GNU grep, nicht unter anderen Versionen, aber da Sie anscheinend Linux verwenden, sollte es kein Problem sein.

Antwort2

versuchen Sie 'ack' (http://beyondgrep.com/), ignoriert es von sich aus .git, .hg, .csv usw. usw.:

Durchsucht standardmäßig ganze Bäume und ignoriert dabei Subversion, Git und andere VCS-Verzeichnisse und andere Dateien, die nicht Ihr Quellcode sind.

Antwort3

Dies ist eine flexiblere Lösung für den Fall, dass Ihr System grepdas Ausschließen von Verzeichnissen nicht unterstützt:

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

verwandte Informationen