Não há arquivo rc para grep, mas você pode definir a variável de ambiente GREP_OPTIONS
como uma lista de opções separadas por espaços em branco que serão aplicadas a todos os comandos grep. Isso requer o GNU grep (a implementação em Linux não incorporado, Cygwin e alguns outros sistemas) 2.4; a --exclude
opção é nova no GNU grep 2.5. Coloque algo assim em seu ~/.profile
:
export GREP_OPTIONS='--color=auto --exclude=*.pyc --exclude-dir=.git'
Se você fez isso, mas deseja executar o grep uma vez sem essas opções padrão, você pode substituí-las (por exemplo, grep --color=never
para forçar o desligamento das cores) ou esvaziar a GREP_OPTIONS
variável executando GREP_OPTIONS= grep …
.
Outra possibilidade é definir aliases para grep. Eu uso uma variante do seguinte:
alias regrep='grep -Er --exclude=*~ --exclude=*.pyc --exclude-dir=.bzr --exclude-dir=.git --exclude-dir=.svn'
Gilles 'SO- parar de ser mau'
fonte
GREP_OPTIONS
afetará asgrep
chamadas em scripts, enquanto um alias não. Portanto,GREP_OPTIONS
deve ser usado com moderação. O uso mais comum é para--color=auto
, o que é, em princípio, inofensivo nos scripts, porque só produz efeito se a saída for um terminal.O ack pode fazer o que você quiser e muito mais.
Ele irá ignorar arquivos binários por padrão e você pode dizer a ele para ignorar outros tipos de arquivos como você quer
--notext
,--nohtml
etc. Ele tem a capacidade de definir um arquivo rc também, então você pode personalizá-lo com seus próprios tipos.fonte
Não é uma resposta direta à sua pergunta. Mas o grep tem uma opção para ignorar todos os arquivos binários, incluindo * .pyc. A opção é
-I
fonte
Não no GNU
grep
/egrep
, não existe.Você provavelmente deseja que um alias ou script especialmente nomeado faça isso de qualquer maneira, porque um dia depois você poderá se sentir muito confuso ao tentar procurar algo que você esqueceu coincidir com sua configuração especial.
fonte
GREP_OPTIONS
em~/.profile
chega perto.--color=auto
!