Před lety jsem k tomu napsal scénář. Případy více barev můžete snadno pokrýt propojením postupných vyvolání highlight
k sobě navzájem.
Ze souboru 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.
ano, existuje způsob, jak to udělat. To znamená, že pokud váš terminál podporuje escape sekvence ANSI . Toto je většina terminálů, které existují.
Myslím, že nemusím vysvětlovat, jak grep, sed atd. bod je správná barva?
viz níže, to udělá
WARN yellow
ERROR red
foo green
zde je příklad:
kent$ echo "WARN
ERROR
foo"|sed 's#WARN#\x1b[33m&#; s#ERROR#\x1b[31m&#; s#foo#\x1b[32m&#'
Poznámka :\x1b
je hexadecimální pro ESC znak (^V Esc ).
abyste viděli výsledek:
Napsal jsem TxtStyle, malý nástroj pro barvení protokolů. Definujete regulární výrazy, které se mají zvýraznit v ~/.txts.conf
soubor:
[Style="example"]
!red: regex("error")
green: regex("\d{4}-\d\d-\d\d")
# ...
A pak použijte styly:
txts -n example example.log
nebo můžete také výstup
tail -f example.log | txts -n example
Už léta k tomu používám nástroj zvaný grc. funguje jako kouzlo. Dodává se s několika docela dobrými šablonami pro mnoho standardních výstupů a formátů protokolů a je snadné definovat vlastní. Příkaz, který často používám, je
grc tail -f /var/log/syslog
Obarví výstup syslog, takže je snadné odhalit chyby (obvykle označené červeně.
).Nástroj najdete zde:
https://github.com/garabik/grc
(je k dispozici také jako balíček pro většinu běžných linuxových příchutí).