Nie ma pliku rc dla grep, ale można ustawić zmienną środowiskową GREP_OPTIONS
na listę opcji oddzieloną spacjami, które będą miały zastosowanie do wszystkich poleceń grep. Wymaga to GNU grep (implementacja w niewbudowanym systemie Linux, Cygwin i niektórych innych systemach) 2.4; --exclude
opcja jest nowy GNU grep 2.5. Umieść coś takiego w swoim ~/.profile
:
export GREP_OPTIONS='--color=auto --exclude=*.pyc --exclude-dir=.git'
Jeśli to zrobiłeś, ale chcesz raz uruchomić grep bez tych domyślnych opcji, możesz je zastąpić (np. grep --color=never
Wymusić wyłączenie kolorów) lub opróżnić GREP_OPTIONS
zmienną, uruchamiając GREP_OPTIONS= grep …
.
Inną możliwością jest zdefiniowanie aliasów dla grep. Używam wariantu:
alias regrep='grep -Er --exclude=*~ --exclude=*.pyc --exclude-dir=.bzr --exclude-dir=.git --exclude-dir=.svn'
Gilles „SO- przestań być zły”
źródło
GREP_OPTIONS
wpłynie nagrep
wywołania w skryptach, podczas gdy alias nie. DlategoGREP_OPTIONS
należy go stosować oszczędnie. Najczęstszym zastosowaniem jest do--color=auto
, co w zasadzie jest nieszkodliwe w skryptach, ponieważ działa tylko wtedy, gdy wyjście jest terminalem.ack może robić, co chcesz i więcej.
Będzie ignorować pliki binarne domyślnie i można powiedzieć to ignorować innych typów plików, jak chcesz
--notext
,--nohtml
itd Ma możliwość definiowania pliku rc zbyt czemu można dostosować go z własnych typów.źródło
Nie bezpośrednia odpowiedź na twoje pytanie. Ale grep ma opcję ignorowania wszystkich plików binarnych, w tym * .pyc. Opcja jest
-I
źródło
Nie w GNU
grep
/egrep
, nie ma.Prawdopodobnie chcesz, aby i tak specjalnie nazwany alias lub skrypt działał w ten sposób, ponieważ pewnego dnia może się okazać, że jesteś bardzo zdezorientowany, gdy próbujesz znaleźć coś, o czym zapomniałeś, odpowiada twojej specjalnej konfiguracji.
źródło
GREP_OPTIONS
w~/.profile
zbliża.--color=auto
!