GNU/Linux >> Tutoriales Linux >  >> Linux

Colorear salida de cola

Escribí un guión para esto hace años. Puede cubrir fácilmente el caso de varios colores canalizando invocaciones sucesivas de highlight entre sí.

Del LÉAME:

Usage: ./highlight [-i] [--color=COLOR_STRING] [--] <PATTERN0> [PATTERN1...]

This is highlight version 1.0.

This program takes text via standard input and outputs it with the given
perlre(1) pattern(s) highlighted with the given color.  If no color option
is specified, it defaults to 'bold red'.  Colors may be anything
that Perl's Term::ANSIColor understands.  This program is similar to
"grep --color PATTERN" except both matching and non-matching lines are
printed.

The default color can be selected via the $HIGHLIGHT_COLOR environment
variable.  The command-line option takes precedence.

Passing -i or --ignore-case will enable case-insensitive matching.

If your pattern begins with a dash ('-'), you can pass a '--' argument
after any options and before your pattern to distinguish it from an
option.

sí, hay manera de hacer esto. Es decir, siempre que su terminal admita secuencias de escape ANSI . Esta es la mayoría de terminales que existen.

Creo que no necesito explicar cómo grep, sed, etc. el punto es el color, ¿verdad?

ver más abajo, esto hará

WARN yellow
ERROR red
foo   green

aquí hay un ejemplo:

kent$ echo "WARN
ERROR
foo"|sed 's#WARN#\x1b[33m&#; s#ERROR#\x1b[31m&#; s#foo#\x1b[32m&#'

Nota :\x1b es hexadecimal para el ESC carácter (^V Esc ).

para ver el resultado:


Escribí TxtStyle, una pequeña utilidad para colorear registros. Defina expresiones regulares para resaltar en ~/.txts.conf archivo:

[Style="example"]
!red: regex("error")
green: regex("\d{4}-\d\d-\d\d")
# ...

Y luego aplique los estilos:

txts -n example example.log

o también puede canalizar la salida

tail -f example.log | txts -n example


He estado usando una herramienta llamada grc para esto durante años. Funciona de maravilla. Viene con algunas plantillas bastante buenas para muchas salidas y formatos de registro estándar y es fácil definir uno propio. Un comando que uso a menudo es

grc tail -f /var/log/syslog

Colorea la salida de syslog para que sea fácil detectar errores (normalmente marcados en rojo.

Encuentre la herramienta aquí:

https://github.com/garabik/grc

(También está disponible como paquete para los sabores de Linux más comunes).


Linux
  1. Adjuntar a la salida de un proceso para ver

  2. Cómo rastrear -f el último archivo de registro con un patrón dado

  3. Omitir la primera línea de cualquier salida de comando de Linux

  4. Salida de tubería a cortar

  5. ¿Es posible colorear la salida canalizada a más?

Bash:escribir en archivo

Comando de cola de Linux

Ccat – Colorear la salida del comando Cat

¿Colorear la salida de los sensores?

Cómo colorear la salida Diff para una mejor vista

3 métodos para ver la salida tail -f de múltiples archivos de registro en una terminal