GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Schwanzausgabe einfärben

Ich habe vor Jahren ein Drehbuch dafür geschrieben. Sie können den Fall mehrerer Farben leicht abdecken, indem Sie aufeinanderfolgende Aufrufe von highlight leiten miteinander.

Aus der 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.

ja, es gibt eine Möglichkeit, dies zu tun. Das heißt, solange Ihr Terminal ANSI-Escape-Sequenzen unterstützt . Dies sind die meisten Terminals, die es gibt.

Ich denke, ich muss nicht erklären, wie man grep, sed usw. Punkt ist die richtige Farbe?

siehe unten, das macht

WARN yellow
ERROR red
foo   green

Hier ist ein Beispiel:

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

Hinweis :\x1b ist für ESC hexadezimal Zeichen (^V Esc ).

um das Ergebnis zu sehen:


Ich habe TxtStyle geschrieben, ein kleines Dienstprogramm zum Kolorieren von Protokollen. Sie definieren reguläre Ausdrücke zum Hervorheben in ~/.txts.conf Datei:

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

Und wenden Sie dann die Stile an:

txts -n example example.log

oder Sie können die Ausgabe auch leiten

tail -f example.log | txts -n example


Ich benutze dafür seit Jahren ein Tool namens grc. klappt wunderbar. Es enthält einige ziemlich gute Vorlagen für viele Standardprotokollausgaben und -formate, und es ist einfach, eigene zu definieren. Ein Befehl, den ich häufig verwende, ist

grc tail -f /var/log/syslog

Es färbt die Syslog-Ausgabe ein, sodass Fehler leicht zu erkennen sind (normalerweise rot markiert.

Finden Sie das Tool hier:

https://github.com/garabik/grc

(es ist auch als Paket für die gängigsten Linux-Varianten erhältlich).


Linux
  1. Syntax der Loggedfs-Konfigurationsdatei?

  2. Schwanzausgabe mit Sed einfärben?

  3. Grep und Schwanz -f?

  4. Ausgabe nach Spalte sortieren?

  5. Zur Anzeige an eine Prozessausgabe anhängen

Bash:In Datei schreiben

Linux-Tail-Befehl

Ccat – Cat-Befehlsausgabe einfärben

Ausgabe von Sensoren einfärben?

So färben Sie die Diff-Ausgabe für eine bessere Ansicht ein

3 Methoden zum Anzeigen der tail -f-Ausgabe mehrerer Protokolldateien in einem Terminal