GNU/Linux >> Tutoriales Linux >  >> Linux

Conservar la coloración después de canalizar grep a grep

Un consejo:

Al usar grep --color=always , se cambiarán las cadenas reales que se pasan a la siguiente canalización. Esto puede llevar a la siguiente situación:

$ grep --color=always -e '1' * | grep -ve '12'
11
12
13

Aunque la opción -ve '12' debe excluir la línea media, no lo hará porque hay caracteres de color entre 1 y 2 .


grep a veces desactiva la salida de color, por ejemplo, al escribir en una tubería. Puede anular este comportamiento con grep --color=always

La línea de comando correcta sería

grep --color=always WORD * | grep -v AVOID

Esto es bastante detallado, alternativamente puede simplemente agregar la línea

alias cgrep="grep --color=always"

a tu .bashrc por ejemplo y use cgrep como el grep coloreado. Al redefinir grep es posible que tenga problemas con los scripts que se basan en una salida específica de grep y no me gusta el código de escape ASCII.


Linux
  1. Grep -v ¿Comportamiento inesperado?

  2. ¿Comprobar que se está ejecutando un script?

  3. ¿Cómo contar el número de líneas en un archivo después de una coincidencia Grep?

  4. Salida de tubería a cortar

  5. Cómo grep \n en el archivo

Grep Regex:una guía completa

Cómo excluir en Grep

Expresiones regulares en Grep (Regex)

Comando Grep en Linux/UNIX

¿Cómo buscar contenido después del patrón?

Ventajas de cat'ing file y piping a grep