ti-enxame.com

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

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?

17
Tree77

No seu arquivo $ HOME/.bashrc, adicione:

export GREP_OPTIONS="-n --color"

Isso também funcionará com egrep 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 de maco em sua resposta . Ou alterne para usar ag , que é exibido em cores por padrão.

31
richq

Editar ~/.bash_aliases Adicione uma linha que diz:

alias grep='grep -n --color'

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

29
maco

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 --color'

depois que a mudança fechar 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'

alias l = 'ls -CF'

2
Paolo Sammicheli

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 abreviado, como cgrep:

#!/bin/sh
grep --color -n "[email protected]"

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

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

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

0
rfabbri