pdfgrep linux bash colors grep pipe

linux - pdfgrep - Conservar el color después de pasar grep a grep



bash colors (3)

Un consejo:

Cuando se utiliza grep --color=always , las cadenas reales que se pasan a la siguiente tubería se cambiará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'' debería excluir la línea media, no lo hará porque hay caracteres de color entre 1 y 2 .

Hay una pregunta similar en Preserve ls coloring after grep''ing, pero me molesta que si canalizas la salida grep coloreada en otro grep, no se preserve la coloración.

Como ejemplo grep --color WORD * | grep -v AVOID grep --color WORD * | grep -v AVOID no conserva el color de la primera salida. Pero para mí ls | grep FILE ls | grep FILE mantener el color, ¿por qué la diferencia?


aunque un poco ''hack-ish'', también funciona simplemente para repetir el comando grep al final de tu pipe.
grep WORD * | grep -v AVOID | grep WORD


grep veces desactiva la salida de color, por ejemplo cuando se escribe 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, o puedes agregar la línea

alias cgrep="grep --color=always"

a tu .bashrc por ejemplo y usa cgrep como grep de color. Al redefinir grep , puede tener problemas con los scripts que dependen de la salida específica de grep y no les gusta el código de escape ascii.