Wie kann ich Übereinstimmungen mit GNU grep hervorheben?

Wie kann ich Übereinstimmungen mit GNU grep hervorheben?

Ich habe unter einigen Linux-Versionen eine Konfiguration gesehen, die grepdie Übereinstimmung hervorhebt und die übereinstimmende Datei druckt.

Wie kann ich grepdie Hervorhebung von Übereinstimmungen konfigurieren?

Antwort1

Ich habe festgestellt, dass der beste Weg, Grep zu pimpen, darin besteht,ack, was im Wesentlichen rekursives Grep mit einer intelligenten Ignorierliste ist (durchsucht z. B. keine .svn-Verzeichnisse, ignoriert Sicherungsdateien usw.), farblicher Hervorhebung der Ergebnisse und Perl-Regexps. Das ist es, was Grep in 98,6 % der Fälle tun soll.

Antwort2

alias cgrep='grep -nR --color'

Verwendung:

$ cgrep somestring /path/to/dir/or/file/with*/possible/*wild.card

Auch einer meiner Favoriten:

$ pgrep some-hanging-process

listet alle PIDs von Prozessen auf, die mit dem Namen eines hängenden Prozesses übereinstimmen, was Sie in der folgenden Situation verwenden können:

$ kill $(pgrep some-hanging-process)

Antwort3

Ich habe dies in meiner .bashrc festgelegt, anstatt grep mit einem Alias ​​neu zu definieren:

    export GREP_OPTIONS="--color=auto"

Bei mir funktioniert dies unter Linux, MacOSX und FreeBSD.

Antwort4

Die --colorOption wurde bereits mehrmals erwähnt, aber ich möchte hinzufügen, dass es möglich ist, die Farbe, in der die Übereinstimmungen hervorgehoben werden, mithilfe einer Umgebungsvariablen zu konfigurieren

export GREP_COLOR="1;33"

Die Farbe sollte mit ANSI-Farbcodes kodiert werden, als Referenz

Black       0;30     Dark Gray     1;30
Blue        0;34     Light Blue    1;34
Green       0;32     Light Green   1;32
Cyan        0;36     Light Cyan    1;36
Red         0;31     Light Red     1;31
Purple      0;35     Light Purple  1;35
Brown       0;33     Yellow        1;33
Light Gray  0;37     White         1;37

verwandte Informationen