2013-10-10 19 views
12

Ich habe eine Reihe von Skripten in meinem Terminal ausgeführt (und ich habe nicht die Möglichkeit, sie zu bearbeiten), die Nachrichten an das Terminal ausgeben. Ich möchte, dass mein Terminal bestimmte Wörter in der Ausgabe automatisch einfärbt.Farbe bestimmte Wörter in Linux-Terminal, wenn sie erscheinen

Zum Beispiel geben einige der Skripte FAIL aus, wenn ein Test fehlschlägt. Wie kann ich das Terminal so konfigurieren, dass dieses bestimmte Wort zu jeder Zeit in einer bestimmten Farbe eingefärbt wird (z. B. rot)?

+0

Duplizieren: http://stackoverflow.com/questions/2616906/how-do-i-output-coloured-text-to-a-linux-terminal – usr2564301

+3

@Jongware: kein Duplikat; Bei dieser Frage geht es darum, das Terminal nach den Wörtern suchen zu lassen und sie zu färben, nicht darum, dass ein Programm eine farbige Ausgabe macht. (Es ist off-topic für SO, obwohl). – geoffspear

+2

Warum wurde das abgelehnt? Es ist eine gute Frage, obwohl ich nicht weiß, ob es ein Thema für SO ist; vielleicht sollte es zu SuperUser migriert werden? –

Antwort

8

Es ist wahrscheinlich einfacher, die Wörter selbst zu färben, als dass das Terminal sie für Sie einfärbt. Wenn Sie die Skripts, die die Ausgabe erstellen, nicht bearbeiten können, können Sie sie durch etwas anderes filtern?

Am wahrscheinlichsten verfügbar Ende der Skala sein, Sie Rohr durch grep Ihr Ausgang könnte:

tail -F logfile | grep --color -P "FAIL|" 

Dies entspricht entweder „FAIL“ oder „“, und unterstreicht die abgestimmte Teil der Zeichenfolge.

Sie könnten weiter etwas Spezialisierteres verwenden, wie zum Beispiel in this blog post beschrieben.

+0

Sie meinen, die Ausgabe protokollieren und dann grep darauf laufen lassen? Tatsächlich mit {LINE OF SCRIPT} | grep --color "FAIL" scheint mir die Ausgabe zu geben, wo FAIL ist, aber nicht genau was ich brauchte. – Turambar

+0

Das sollte 'grep --color -P 'sein FAIL |" 'das ist etwas anders als das, was Sie in Ihrem Kommentar geschrieben haben. –

+0

yeah .. Damit alle Ausgaben am Ende mit den farbigen Wörtern angezeigt werden, muss ein | vorhanden sein. Ich habe es ein bisschen kreativ benutzt, um nur die Zeilen der Ausgabe zu behalten, die ich brauchte. Danke! – Turambar

Verwandte Themen