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

Wie man mit der Farbausgabe umgeht

Einer der leistungsfähigsten und am häufigsten verwendeten Befehle in der Shell ist grep. Es sucht in einer Eingabedatei und passt Zeilen an, in denen das angegebene Muster gefunden wird. Standardmäßig werden alle übereinstimmenden Muster auf stdout gedruckt, das normalerweise Terminal ist. Wir können die übereinstimmende Ausgabe auch an andere Streams wie file.

umleiten

Die grundlegende Verwendung von grep ist dies:

$ grep "some text" file.txt

grep ist in der Lage, den übereinstimmenden String in seiner Ausgabe farblich hervorzuheben. Aber standardmäßig ist diese Option deaktiviert.

$ grep abc a_file.txt
abcdef

Die —-Farbe Der Parameter weist grep an, die Suchbegriffe in der Ausgabe einzufärben, wodurch sie sich von all dem anderen Text in der Zeile abheben. Mit GREP_COLOR wählen Sie die gewünschte Farbe aus Umgebungsvariable:export GREP_COLOR=36 ergibt Cyan, und export GREP_COLOR=32 ergibt Limonengrün.

Es stehen Ihnen 3 Farboptionen zur Verfügung:

  • –color=auto
  • –color=immer
  • –color=nie

Mit color=always färbt es den übereinstimmenden String ein.

$ grep --color=always abc a_file.txt
abcdef

Sehr oft möchten Sie die Ausgabe durchblättern:

$ grep --color=always abc a_file.txt | less 
ESC[01;31mabcESC[00mdef
(END)

Das Problem ist, dass less diese Steuerzeichen standardmäßig nicht versteht. Sie müssen den Parameter -R verwenden.

$ grep --color=always abc a_file.txt |less -R
abcdef

Verwenden Sie alternativ more.

$ grep --color=always abc a_file.txt | more 
abcdef

Ein weiteres problematisches Szenario ist, wenn Sie die grep-Ausgabe in einer Datei speichern möchten. Die Ausgabedatei enthält diese Steuerzeichen.

$ grep --color=always abc a_file.txt > myoutput.txt
$ less myoutput.txt
ESC[01;31mabcESC[00mdef
myoutput.txt (END)

Mit color=auto zeigt es Farbe in der Ausgabe an, es sei denn, die Ausgabe wird an einen Befehl geleitet oder an eine Datei umgeleitet.

Schließlich können Sie den Farbparameter in einer grep-spezifischen Umgebungsvariablen angeben. Dann müssen Sie es nicht in die Befehlszeile eingeben.

$ export GREP_OPTIONS='--color=always' 

Schlussbemerkung

Der grep-Befehl ist einer der beständigsten und leistungsstärksten im Terminal-Arsenal. Die Prämisse ist einfach:Bei einer oder mehreren Dateien werden alle Zeilen in diesen Dateien ausgegeben, die einem bestimmten Muster regulärer Ausdrücke entsprechen. Um das übereinstimmende Muster hervorzuheben, verwenden Sie die Option -color. Während die Optionsposition keine Rolle spielt, ist es üblich, Optionen zuerst zu platzieren.


Linux
  1. Wie führe ich Grep mit mehreren und Mustern aus?

  2. Wie hebt man ein Wort in der Ausgabe von „Katze“ hervor?

  3. Wie grep ich rekursiv?

  4. Wie suche ich nach Inhalten nach dem Muster?

  5. So entfernen Sie \r-Zeichen mit sed

So verwenden Sie den Linux-Cat-Befehl (mit Beispielen)

8 Linux-Tee-Befehl mit Beispielen

So leiten Sie die Shell-Befehlsausgabe um

Wie grep \n in Datei

So durchsuchen Sie Linux-Manpages (z. B. mit grep)

grep-Ausgabe von lang nach breit