Existe um arquivo de configuração 'rc' para o grep / egrep? (~ / .egreprc?)

30

Eu costumo fazer um pouco de grep quando estou desenvolvendo, e há algumas extensões que eu sempre não quero procurar (como * .pyc).

É possível criar um ~ / .egreprc ou algo parecido, e colocar alguma filtragem para sempre não mostrar arquivos pyc no resultado.

Isso é possível, ou terei que criar um alias para usar o grep dessa maneira e chamar o alias em vez do grep?

    
por Somebody still uses you MS-DOS 25.02.2011 / 20:01

4 respostas

59

Não existe um arquivo rc para o grep, mas você pode definir a variável de ambiente GREP_OPTIONS para uma lista de opções separadas por espaço em branco que será aplicada a todos os comandos do grep. Isso requer o GNU grep (a implementação em sistemas Linux não embarcados, Cygwin e alguns outros sistemas) 2.4; a opção --exclude é nova no GNU grep 2.5. Coloque algo assim em seu ~/.profile :

export GREP_OPTIONS='--color=auto --exclude=*.pyc --exclude-dir=.git'

Se você tiver feito isso, mas quiser executar o grep uma vez sem essas opções padrão, poderá substituí-las (por exemplo, grep --color=never para forçar a desativação de cores) ou esvaziar a variável GREP_OPTIONS executando GREP_OPTIONS= grep … .

Outra possibilidade é definir aliases para o grep. Eu uso uma variante do seguinte:

alias regrep='grep -Er --exclude=*~ --exclude=*.pyc --exclude-dir=.bzr --exclude-dir=.git --exclude-dir=.svn'
    
por 25.02.2011 / 21:05
3

ack pode fazer o que quiser e muito mais.

Ele irá ignorar arquivos binários por padrão e você pode dizer para ignorar outros tipos de arquivos como você deseja --notext , --nohtml , etc. Ele tem a capacidade de definir um arquivo rc também para que você possa personalizá-lo com o seu próprio tipos.

    
por 25.02.2011 / 20:20
0

Não é uma resposta direta à sua pergunta. Mas o grep tem a opção de ignorar todos os arquivos binários, incluindo * .pyc. A opção é -I

grep -rI hello .
    
por 29.06.2016 / 04:56
0

Não está no GNU grep / egrep , não existe.

Você provavelmente quer um alias ou script com nome especial para fazer isso de qualquer maneira, porque algum dia depois você poderá se sentir muito confuso ao tentar procurar algo que você esqueceu que corresponde à sua configuração especial.

    
por 25.02.2011 / 20:13