GNU/Linux >> Linux Esercitazione >  >> Linux

Colora l'output della coda

Ho scritto una sceneggiatura per questo anni fa. Puoi facilmente coprire il caso di più colori eseguendo piping successive invocazioni di highlight gli uni agli altri.

Dal README:

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ì, c'è un modo per farlo. Cioè, purché il tuo terminale supporti le sequenze di escape ANSI . Questa è la maggior parte dei terminali esistenti.

Penso di non aver bisogno di spiegare come grep, sed ecc. il punto è il colore giusto?

vedi sotto, questo renderà

WARN yellow
ERROR red
foo   green

ecco un esempio:

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

Nota :\x1b è esadecimale per ESC carattere (^V Esc ).

per vedere il risultato:


Ho scritto TxtStyle, una piccola utility per colorare i log. Definisci le espressioni regolari da evidenziare in ~/.txts.conf file:

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

E poi applica gli stili:

txts -n example example.log

oppure puoi anche reindirizzare l'output

tail -f example.log | txts -n example


Uso uno strumento chiamato grc per questo da anni. funziona come un fascino. Viene fornito con alcuni modelli abbastanza buoni per molti output e formati di log standard ed è facile definirne uno personalizzato. Un comando che uso spesso è

grc tail -f /var/log/syslog

Colora l'output di syslog in modo che sia facile individuare gli errori (tipicamente contrassegnati in rosso.

Trova lo strumento qui:

https://github.com/garabik/grc

(è anche disponibile come pacchetto per le versioni Linux più comuni).


Linux
  1. Colorare l'output della coda con Sed?

  2. Ordinare l'output per colonna?

  3. Come eseguire il tail -f dell'ultimo file di registro con un dato modello

  4. ps significato uscita aux

  5. Guardare qualcosa che viene scritto su un file dal vivo con la coda

Bash:Scrivi su file

Comando coda di Linux

Ccat:colora l'output del comando Cat

Colora l'output dei sensori?

Come colorare l'output del differenziale per una migliore visualizzazione

3 metodi per visualizzare l'output di coda -f di più file di registro in un terminale