GNU/Linux >> Znalost Linux >  >> Linux

Vybarvi výstup ocasu

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í).


Linux
  1. Barvení výstupu ocasu pomocí Sed?

  2. Grep And Tail -f?

  3. Připojte k výstupu procesů pro prohlížení

  1. Jak spustíte `méně` a necháte automaticky spustit vyhledávací vzor?

  2. Sledovat, jak se něco zapisuje do souboru živě s ocasem

  3. Jak aplikovat filtr na výstup `tail -f` v reálném čase?

  1. Syntaxe konfiguračního souboru Loggedfs?

  2. Seřadit výstup podle sloupce?

  3. Jak ohraničit -f nejnovější soubor protokolu s daným vzorem