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

Bewahren Sie die Färbung nach dem Piping von grep zu grep

Ein Tipp:

Bei Verwendung von grep --color=always , werden die eigentlichen Saiten, die an die nächste Pipe weitergegeben werden, geändert. Dies kann zu folgender Situation führen:

$ grep --color=always -e '1' * | grep -ve '12'
11
12
13

Auch wenn die Option -ve '12' sollte die mittlere Zeile ausschließen, wird dies nicht der Fall sein, da sich zwischen 1 Farbzeichen befinden und 2 .


grep deaktiviert manchmal die Farbausgabe, zum Beispiel beim Schreiben in eine Pipe. Sie können dieses Verhalten mit grep --color=always überschreiben

Die korrekte Befehlszeile wäre

grep --color=always WORD * | grep -v AVOID

Das ist ziemlich ausführlich, alternativ können Sie einfach die Zeile

hinzufügen
alias cgrep="grep --color=always"

zu Ihrem .bashrc zum Beispiel und verwenden Sie cgrep als farbige grep. Beim Neudefinieren von grep Sie könnten Probleme mit Skripten bekommen, die auf eine bestimmte Ausgabe von grep angewiesen sind und mag keinen ASCII-Escape-Code.


Linux
  1. Überprüfung der PHP-Syntax.

  2. Grep wird langsam beendet, nachdem eine Übereinstimmung gefunden wurde?

  3. Grep:Speicher erschöpft?

  4. Überprüfen, ob ein Skript ausgeführt wird?

  5. Wie zähle ich die Anzahl der Zeilen in einer Datei nach einem Grep-Match?

Grep Regex:Ein vollständiger Leitfaden

So schließen Sie in Grep aus

Reguläre Ausdrücke in Grep (Regex)

Grep-Befehl unter Linux/UNIX

Wie suche ich nach Inhalten nach dem Muster?

Vorteile der Cat'ing-Datei und der Weiterleitung an grep