GNU/Linux >> Tutoriels Linux >  >> Linux

Coloriser la sortie de queue

J'ai écrit un script pour ça il y a des années. Vous pouvez facilement couvrir le cas de plusieurs couleurs en passant des invocations successives de highlight les uns aux autres.

À partir du LISEZMOI :

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.

oui, il y a moyen de faire ça. Autrement dit, tant que votre terminal prend en charge les séquences d'échappement ANSI . C'est la plupart des terminaux qui existent.

Je pense que je n'ai pas besoin d'expliquer comment grep, sed, etc. est-ce que la couleur est bonne?

voir ci-dessous, cela fera

WARN yellow
ERROR red
foo   green

voici un exemple :

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

Remarque :\x1b est hexadécimal pour ESC caractère (^V Échap ).

pour voir le résultat :


J'ai écrit TxtStyle, un petit utilitaire pour colorier les logs. Vous définissez les expressions régulières à mettre en évidence dans ~/.txts.conf fichier :

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

Et puis appliquez les styles :

txts -n example example.log

ou vous pouvez également rediriger la sortie

tail -f example.log | txts -n example


J'utilise un outil appelé grc pour cela depuis des années. fonctionne comme un charme. Il est livré avec de très bons modèles pour de nombreuses sorties et formats de journaux standard et il est facile de définir les vôtres. Une commande que j'utilise souvent est

grc tail -f /var/log/syslog

Il colore la sortie syslog afin qu'il soit facile de repérer les erreurs (généralement marquées en rouge.

Trouvez l'outil ici :

https://github.com/garabik/grc

(il est également disponible sous forme de package pour les versions Linux les plus courantes).


Linux
  1. Syntaxe du fichier de configuration Loggedfs ?

  2. Coloriser la sortie de queue avec Sed ?

  3. Grep et queue -f ?

  4. Trier la sortie par colonne ?

  5. Comment suivre -f le dernier fichier journal avec un modèle donné

Bash :Écrire dans un fichier

Commande Tail Linux

Ccat - Coloriser la sortie de la commande Cat

Coloriser la sortie des capteurs ?

Comment coloriser la sortie Diff pour une meilleure vue

3 méthodes pour afficher la sortie tail -f de plusieurs fichiers journaux dans un terminal