Wie koloriert man automatisch Programmausgaben in einer Bash-Shell?

8

Ich möchte jedes Programm nehmen, das auf den Bildschirm ausgegeben wird, die Ausgabe abfangen und bestimmte Schlüsselwörter färben, bevor sie auf dem Bildschirm ausgegeben werden. Hier ist zum Beispiel die normale Programmausgabe:

%Vor%

gegen

%Vor%

Idealerweise ist es egal, was das Programm ist. Ich bin nur auf der Suche nach einer guten Möglichkeit, mehr Farbe in meine Konsoles zu integrieren.

Bearbeiten: Entschuldigung, hätte klar sein müssen. Ich versuche nicht, Shell-Skript-Ausgaben zu kolorieren.

    
Lin 06.07.2009, 04:33
quelle

5 Antworten

7
%Vor%

Siehe terminfo für eine lange Liste der Terminalfunktionen. A $TERM mit Suffix -m (z. B. ansi-m ) bedeutet, dass der Bildschirm einfarbig ist, aber solange die Farbe funktioniert, sollten die folgenden Zeichenfolgenfunktionen nicht leer sein:

%Vor%

Die Farben 0-7 sind ziemlich Standard: schwarz, rot, grün, gelb, blau, magenta, cyan, weiß. Darüber hinaus existiert möglicherweise nicht oder kann variabler sein.

    
ephemient 06.07.2009, 15:55
quelle
5
___ qstnhdr ___ Wie koloriert man automatisch Programmausgaben in einer Bash-Shell? ___ answer14201221 ___

Vielleicht möchten Sie etwas wie colorex oder die Vorschläge unter eine ähnliche Frage auf unix.SE .

    
___ qstntxt ___

Ich möchte jedes Programm nehmen, das auf den Bildschirm ausgegeben wird, die Ausgabe abfangen und bestimmte Schlüsselwörter färben, bevor sie auf dem Bildschirm ausgegeben werden. Hier ist zum Beispiel die normale Programmausgabe:

%Vor%

gegen

%Vor%

Idealerweise ist es egal, was das Programm ist. Ich bin nur auf der Suche nach einer guten Möglichkeit, mehr Farbe in meine Konsoles zu integrieren.

Bearbeiten: Entschuldigung, hätte klar sein müssen. Ich versuche nicht, Shell-Skript-Ausgaben zu kolorieren.

    
___ tag123bash ___ Für Fragen zu Skripten, die für die Bash-Befehlsshell geschrieben wurden. Für Shell-Skripte mit Fehlern, überprüfen Sie diese bitte mit dem Shellcheck-Programm (oder im web-Shellcheck-Server unter https://shellcheck.net), bevor Sie hier posten. Fragen zur interaktiven Nutzung von Bash sind bei Super Usern eher Thema als bei Stack Overflow. ___ answer31552452 ___

Probieren Sie den einfachen und brillianten generischen Farbgeber aus ( Startseite ):

  

Generic Colouriser ist ein weiterer Colorizer (in Python geschrieben) zum Verschönern Ihrer Logdateien oder zur Ausgabe von Befehlen.

Es ist in Debian verfügbar und für viele Tools vorkonfiguriert:

%Vor%

%Vor%

    
___ tag123colors ___ Verwenden Sie dieses Tag für Fragen zum Darstellen oder Bearbeiten von Farben in einer Programmiersprache. ___ tag123pipe ___ Eine Unix-Pipe verbindet Dateideskriptoren zweier Prozesse. Eine Pipe wird mit der Funktion POSIX pipe () erstellt, die in deklariert ist. Shells ermöglichen die Pipe-Erstellung zwischen Prozessen mithilfe von "|". ___ answer 1085480 ___

Das Programm ack ist eine Version von grep, die die Hervorhebung von Übereinstimmungen mit regulären Ausdrücken in der Ausgabe hervorhebt. Sie könnten es verwenden, um die Färbung für Sie zu tun, oder Sie könnten seinen Perl-Code studieren.

Eine andere Möglichkeit wäre, mit einem --color=always oder --color=auto Argument zu GNU's grep zu pipen.

    
___ answer1087762 ___
%Vor%

Siehe terminfo für eine lange Liste der Terminalfunktionen. A %code% mit Suffix %code% (z. B. %code% ) bedeutet, dass der Bildschirm einfarbig ist, aber solange die Farbe funktioniert, sollten die folgenden Zeichenfolgenfunktionen nicht leer sein:

%Vor%

Die Farben 0-7 sind ziemlich Standard: schwarz, rot, grün, gelb, blau, magenta, cyan, weiß. Darüber hinaus existiert möglicherweise nicht oder kann variabler sein.

    
___ answer1085438 ___

Sie können ein Kolorisierungsskript schreiben. Hier gibt es eine ausgezeichnete Anleitung Ссылка

    
___
Pete TerMaat 06.07.2009 04:55
quelle
3

Sie können ein Kolorisierungsskript schreiben. Hier gibt es eine ausgezeichnete Anleitung Ссылка

    
segfault 06.07.2009 04:36
quelle
2

Vielleicht möchten Sie etwas wie colorex oder die Vorschläge unter eine ähnliche Frage auf unix.SE .

    
Brian M. Hunt 07.01.2013 17:45
quelle
0

Probieren Sie den einfachen und brillianten generischen Farbgeber aus ( Startseite ):

  

Generic Colouriser ist ein weiterer Colorizer (in Python geschrieben) zum Verschönern Ihrer Logdateien oder zur Ausgabe von Befehlen.

Es ist in Debian verfügbar und für viele Tools vorkonfiguriert:

%Vor%

%Vor%

    
Andy 22.07.2015 01:36
quelle

Tags und Links