Ist es möglich, die Ausgabe von find zu "kolorieren"?
Ich habe einen Fund, der auf allen meinen Servern / home sucht und bestimmte Dateien ausführt. Da diese unter anderem mit meinen anderen Suchergebnissen gemischt sind, möchte ich sie kolorieren.
Ist das möglich?
-or -print
.Was ich normalerweise mache, um das Scrollen von Befehlszeilentexten hervorzuheben, ist die Verwendung dieser Bash + Perl-Funktion:
highlight() { perl -pe "s/$1/\e[1;31;43m$&\e[0m/g"; }
so wie:
command | highlight "desired text"
quelle
Das Dollarzeichen stimmt mit dem Ende jeder Zeile überein, hat jedoch nichts hervorzuheben, sodass auch Zeilen ohne Übereinstimmungen ausgegeben werden, während andere von Ihnen aufgelistete Elemente hervorgehoben werden.
quelle
auto
), handelt es sich um eine sehr kurze Pipe zum Hervorheben, die praktisch überall verfügbar ist :grep -E 'word|$'
. Dies sollte mehr Aufmerksamkeit bekommen!export GREP_OPTIONS='--color=auto'
wenn Sie EINMAL tippen (z. B. in Feldern anderer Personen, in denen standardmäßig keine Grep-Farben aktiviert sind),grep -E 'i|$'
ist dies immer noch kürzer als bei den meisten anderen Lösungen.Dies ähnelt der Antwort von @jrods, erfordert jedoch kein Perl. Dies funktioniert mit GNU grep, das unter Darwin, Linux & FreeBSD installiert ist.
Sie können
grep
mit Farben verwenden und Ihren Befehl durch grep leiten:Um den Text hervorzuheben, gehen Sie einfach wie folgt vor:
quelle
Ich habe eine, die ich zum Beispiel verwende, um als (Alias-) Ersatz für
ls -d */ .*/
die Verzeichnisse.
und zu arbeiten..
:Auf diese Weise erhalte ich nicht nur Hervorhebungen, sondern auch die gleiche Systemhervorhebung, die normalerweise angewendet wird.
quelle
Ich verwende die folgende Funktion (definiert in ~ /. {Ba, z} shrc):
quelle
Wenn die Farben in grep aktiviert oder automatisch aktiviert sind, können Sie einfach eine kurze grep-Pipe mit der Option für den erweiterten regulären Ausdruck und dem Dollarzeichen erstellen (um weiterhin jede Zeile anzuzeigen).
Zum Beispiel mit einer Suchsuche:
Dadurch wird jedes Vorkommen von "Readme" hervorgehoben und die gesamte Ausgabe von find angezeigt.
Nebenbemerkung: Wenn grep die Farben deaktiviert hat, können Sie entweder die Option --color hinzufügen (
grep -E --color ...
), wie Dennis Williamson vorschlägt, oder sie für die Sitzung festlegen (export GREP_OPTIONS="--color=auto"
).quelle