Como posso destacar correspondências usando GNU grep?

Como posso destacar correspondências usando GNU grep?

Eu vi em alguns Linux grepconfigurados para destacar a correspondência e imprimir o arquivo correspondente.

Como posso configurar greppara destacar correspondências?

Responder1

Eu descobri que a melhor maneira de melhorar o grep é usarack, que é essencialmente um grep recursivo com uma lista de ignorados inteligente (por exemplo, não pesquisa diretórios .svn, ignora arquivos de backup, etc.), realce de cores dos resultados e regexps perl. É o que você deseja que o grep faça 98,6% das vezes.

Responder2

alias cgrep='grep -nR --color'

Uso:

$ cgrep somestring /path/to/dir/or/file/with*/possible/*wild.card

Também um dos meus favoritos:

$ pgrep some-hanging-process

listará todos os pids de processos que correspondem ao nome de algum processo suspenso que você pode usar na seguinte situação:

$ kill $(pgrep some-hanging-process)

Responder3

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

    export GREP_OPTIONS="--color=auto"

Para mim, isso funciona em Linux, MacOSX e FreeBSD.

Responder4

A --coloropção já foi mencionada diversas vezes, mas gostaria de acrescentar que é possível configurar a cor em que as correspondências serão destacadas através de 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

informação relacionada