Um die Textausgabe eines Befehls einzufärben, könnte man versuchen, die Ausgabe des Befehls an sed weiterzuleiten, wie zum Beispiel:
Ihr Befehl | sed -e 's/FAIL/^[[01;31mFAIL^[[00m/g' -e 's/SUCCESS/^[[01;32mSUCCESS^[[00m/g'
Man könnte diese Ersetzungsregeln auch in eine Textdatei (z. B. colorize.sed) einfügen und Folgendes verwenden:
Ihr Befehl | sed -f colorize.sed
Dadurch können verschiedenen Match-Strings unterschiedliche Farben zugewiesen werden. Beachten Sie, dass in meinen Beispielen das '^[' das Escape-Zeichen bedeutet, nicht ein Karat gefolgt von einer eckigen Klammer. Das Escape-Zeichen kann in die Regel eingegeben werden, indem Sie Strg-V eingeben und dann die Escape-Taste drücken.
Folgende Farben/Effekte sind für diese TTY-Codes verfügbar:
Vordergrundfarben:Schwarz=30, Blau=34, Cyan=36, Grün=32, Lila=35, Rot=31, Weiß=37, Gelb=33
Hintergrundfarben:Schwarz=40, Blau=44, Cyan=46, Grün=42, Lila=45, Rot=41, Weiß=47, Gelb=43
Effekte:Normal=00, Fett=01, Dunkel=02, Unterstrichen=04, Blinken=05, Umgekehrt=07, Ausgeblendet=08
Diese können auch wie ich mit einem Semikolon kombiniert werden (z. B. 01;31, um rot fett zu werden).
Beachten Sie, dass der Code „^[00m“ erforderlich ist, um die vorherige Farbe/den vorherigen Effekt zu deaktivieren, andernfalls bleibt die Farbe/der Effekt nach der Übereinstimmungszeichenfolge erhalten. Beachten Sie auch, dass einige der Effekte mit einigen Terminal-Emulatoren nicht funktionieren (oder nicht so funktionieren, wie ich es beschrieben habe).
Ich hoffe, dass ich nicht nur wiederhole, was jemand anderes bereits gesagt hat, weil ich nicht den gesamten Diskussionsthread gelesen habe.
Es ist wahrscheinlich einfacher, die Wörter selbst zu färben, als das Terminal sie für Sie färben zu lassen. Wenn Sie die Skripts, die die Ausgabe erstellen, nicht bearbeiten können, können Sie sie durch etwas anderes filtern?
Am wahrscheinlichsten verfügbaren Ende der Skala könnten Sie Ihre Ausgabe durch grep
leiten :
tail -F logfile | grep --color -P "FAIL|"
Dies entspricht entweder "FAIL" oder "", und hebt den übereinstimmenden Teil der Zeichenfolge hervor.
Sie könnten auch etwas Spezialisierteres verwenden, wie es zum Beispiel in diesem Blogbeitrag beschrieben wird.