Substituir o comando grep pelo grep -n --colour?

17

Porque eu sou preguiçoso ... sempre que eu quiser usar grep, eu quero que seja grep -n -colour. Existe uma maneira de mapear isso permanentemente?

    
por Tree77 13.08.2010 / 17:41

4 respostas

31

No seu arquivo $ HOME / .bashrc, adicione:

export GREP_OPTIONS="-n --color"

Isso funcionará com egrep também e em aliases que usam o grep.

Atualização : GREP_OPTIONS está obsoleto no grep 2.21 e se você usar esta solução, verá o seguinte aviso:

grep: warning: GREP_OPTIONS is deprecated; please use an alias or script

A melhor solução é, portanto, seguir o conselho da maco em sua resposta . Ou mude para o ag , que é impresso em cores por padrão.

    
por richq 13.08.2010 / 18:52
29

Editar ~ / .bash_aliases Adicione uma linha que diz:

alias grep='grep -n --color'

~ / .bash_aliases é automaticamente incluído por ~ / .bashrc se existir

    
por maco 13.08.2010 / 17:43
2

você pode modificar o arquivo .bashrc localizado em seu diretório pessoal, definindo um alias, que substituirá qualquer configuração padrão:

alias grep = 'grep - n - cor'

após a mudança, feche e abra o terminal novamente, porque o arquivo é lido somente quando você abre o terminal.

Se você der uma olhada no arquivo .bashrc, você encontrará mais aliases padrão como:

alias ll = 'ls -l'

alias la = 'ls -A'

apelido l = 'ls -CF'

    
por Paolo Sammicheli 13.08.2010 / 17:48
0

Crie um script além de um alias mencionado nas outras respostas. Um alias, por si só, nem sempre funciona, e uma camada de script é rápida o suficiente para uma saída legível de qualquer maneira.

Escolha um nome curto, como cgrep :

#!/bin/sh
grep --color -n "$@"

Coloque-o em seu caminho, diga ~/bin (se você ler UPE, isso está no seu caminho :). Então, coisas assim funcionam:

find /usr/share -name '*.txt' | xargs cgrep testing

Eu ainda não estou tão feliz, eu também queria que o grep sempre colorisse quando stdout para um terminal sem digitar seletivamente o cgrep.

    
por rfabbri 27.05.2016 / 18:44