¿Cómo puedo resaltar coincidencias usando GNU grep?

¿Cómo puedo resaltar coincidencias usando GNU grep?

He visto en algunos Linux que grepestá configurado para resaltar la coincidencia e imprimir el archivo coincidente.

¿Cómo puedo configurar greppara resaltar coincidencias?

Respuesta1

Descubrí que la mejor manera de proxeneta grep es usarack, que es esencialmente grep recursivo con una lista de ignorados inteligente (por ejemplo, no busca directorios .svn, ignora archivos de respaldo, etc.), resaltado de color de los resultados y expresiones regulares de Perl. Es lo que quieres que haga grep el 98,6% del tiempo.

Respuesta2

alias cgrep='grep -nR --color'

Uso:

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

También uno de mis favoritos:

$ pgrep some-hanging-process

enumerará todos los pids de los procesos que coinciden con el nombre de algún proceso pendiente que puede usar en la siguiente situación:

$ kill $(pgrep some-hanging-process)

Respuesta3

Configuré esto en mi .bashrc, en lugar de redefinir grep usando un alias:

    export GREP_OPTIONS="--color=auto"

Para mí, esto funciona en Linux, MacOSX y FreeBSD.

Respuesta4

La --coloropción ya ha sido mencionada varias veces, pero me gustaría agregar que es posible configurar el color en el que se resaltarán las coincidencias usando una variable de entorno.

export GREP_COLOR="1;33"

El color debe codificarse utilizando códigos de color ANSI, como referencia.

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

información relacionada