Es gibt keine rc-Datei für grep, aber Sie können die Umgebungsvariable GREP_OPTIONS
auf eine durch Leerzeichen getrennte Liste von Optionen festlegen , die für alle grep-Befehle gelten. Dies erfordert GNU grep (die Implementierung auf nicht eingebettetem Linux, Cygwin und einigen anderen Systemen) 2.4; Die --exclude
Option ist neu in GNU grep 2.5. Tragen Sie so etwas in Ihr ~/.profile
:
export GREP_OPTIONS='--color=auto --exclude=*.pyc --exclude-dir=.git'
Wenn Sie dies getan haben, aber grep einmal ohne diese Standardoptionen ausführen möchten, können Sie sie überschreiben (z. B. grep --color=never
um Farben auszuschalten) oder die GREP_OPTIONS
Variable durch Ausführen leeren GREP_OPTIONS= grep …
.
Eine andere Möglichkeit besteht darin, Aliase für grep zu definieren. Ich benutze eine Variante der folgenden:
alias regrep='grep -Er --exclude=*~ --exclude=*.pyc --exclude-dir=.bzr --exclude-dir=.git --exclude-dir=.svn'
Gilles 'SO - hör auf böse zu sein'
quelle
GREP_OPTIONS
betroffen sindgrep
, ein Alias jedoch nicht. AlsoGREP_OPTIONS
sollte sparsam verwendet werden. Die häufigste Verwendung ist für--color=auto
, was in Skripten im Prinzip harmlos ist, da es nur wirksam wird, wenn die Ausgabe ein Terminal ist.ack kann machen was du willst und mehr.
Es wird binäre Dateien standardmäßig ignorieren und Sie können ihm andere Dateitypen zu ignorieren sagen , wie Sie wollen
--notext
,--nohtml
usw. Es hat die Fähigkeit, eine RC - Datei zu definieren , so dass Sie es mit Ihrem eigenen Typ anpassen können.quelle
Keine direkte Antwort auf Ihre Frage. Aber grep hat die Option, alle Binärdateien einschließlich * .pyc zu ignorieren. Die Option ist
-I
quelle
Nicht in GNU
grep
/egrep
gibt es nicht.Möglicherweise möchten Sie dies ohnehin mit einem speziell benannten Alias oder Skript tun, da Sie eines Tages möglicherweise sehr verwirrt sind, wenn Sie versuchen, etwas zu suchen, von dem Sie vergessen haben, dass es zu Ihrer speziellen Konfiguration passt.
quelle
GREP_OPTIONS
in~/.profile
nahe kommt.--color=auto
!