web-development-kb-pt.site

Como posso destacar correspondências usando GNU Grep?

Eu vi em algum linux, que grep é configurado para destacar a correspondência e imprimir o arquivo correspondente.

Como posso configurar grep para destacar correspondências?

18
elmarco

Eu defini isso no meu .bashrc, em vez de redefinir o grep usando um alias:

    export GREP_OPTIONS="--color=auto"

Para mim, isso funciona no Linux, MacOSX & FreeBSD.

7
Stefan Lasiewski

O --color opção já foi mencionado várias vezes, mas eu gostaria de adicionar que é possível configurar a cor na qual as correspondências serão destacadas usando uma variável de ambiente

export GREP_COLOR="1;33"

A cor deve ser codificada usando códigos de cores ANSI, para referência

Black       0;30     Dark Gray     1;30
Blue        0;34     Light Blue    1;34
Green       0;32     Light Green   1;32
Cyan        0;36     Light Cyan    1;36
Red         0;31     Light Red     1;31
Purple      0;35     Light Purple  1;35
Brown       0;33     Yellow        1;33
Light Gray  0;37     White         1;37
2
Adam Byrtek

Desde que não vi nenhum exemplo de definir cores, aqui está uma configuração simples para GNU Grep:

# turn on colors, natch.
export GREP_OPTIONS="--color=auto"

if [[ $(echotc Co) -ge 256 ]]; then
  # 256 color terminals
  export GREP_COLORS="mt=38;5;118:sl=:cx=:fn=38;5;18:ln=1;30:bn=37:se=30"
else
  # everybody else
  export GREP_COLORS="mt=31:sl=:cx=:fn=34:ln=1;30:bn=30:se=30"
fi

Tenha cuidado com GREP_OPTIONS; Não use para outra coisa que não seja coisas como --color=auto ou vai atrapalhar quaisquer scripts que usem o Grep no seu sistema.

2
docwhat