Grep_color auf Mac

12

Ich versuche, meine Regex mit dem Terminal auf dem Mac hervorzuheben. Ich habe gesagt, das ist mein .profile:

export GREP_COLOR='1;30;40'

Nichts ändert sich, also habe ich gleich bash.profilenoch nichts zu meiner Maschine hinzugefügt, nichts neu gestartet. Wenn ich bin:

egrep --color=auto ".*\W blah blah "

dann leuchtet es gelb auf, aber ich habe mich gefragt, ob ich etwas falsch gemacht habe in meinem .profileoder bash_profile.

Jede Hilfe wäre gut: Schneeleopard mit einfachem altem Terminal :-)

StudentRik
quelle
2
Ist nicht GREP_COLORveraltet? Auf grep --colorjeden Fall sollten Übereinstimmungen in der Standardfarbe hervorgehoben werden, ohne Umgebungsvariablen zu benötigen.
JW013
Das stimmt nur zur Hälfte. GREP_COLORErmöglicht das Anpassen der tatsächlichen Farben, wobei --colornur die standardmäßig konfigurierten Farben aktiviert / deaktiviert werden. Und ich denke GREP_COLORS(Plural) ist, was veraltet ist. Das ist der Grund, warum meine Farbform vor Jahren verschwunden ist, ohne dass ich es bemerkt habe.
Sridhar Sarnobat

Antworten:

22

Dies funktionierte auf meiner Schneeleopardenmaschine. Versuchen Sie einfach, den Text in Ihr Terminal zu kopieren und einzufügen, und prüfen Sie, ob grep das gewünschte Verhalten zeigt. Wenn dies der Fall ist, ist das Problem, dass Sie es nicht zur richtigen Punktdatei hinzufügen. Welche Shell benutzt du? Die Punktdatei, zu der Sie sie hinzufügen sollten, hängt von der verwendeten Shell ab.

export GREP_OPTIONS='--color=auto'
export GREP_COLOR='1;30;40'

Versuchen Sie auch, die printenvUmgebungsvariablen auszuführen, die Sie bereits festgelegt haben, und festzustellen, ob bereits grep-Optionen vorhanden sind.

Mark McKinstry
quelle
Ausgezeichnet!!! Danke!! viel besser als einen Alias ​​einzurichten!
KWD
1
Seltsam. Ich wollte diese Antwort abstimmen, aber mit Terminal on Snow Leopard hat es bei mir nicht funktioniert. Der übereinstimmende Text wurde in schwarze Kästchen umgewandelt.
Old Pro
2
@OldPro - Ich würde die tatsächliche Verwendung empfehlen, export GREP_COLOR='1;35;40'da 35 Cyan und 30 Grau sind - 40 Schwarzer Hintergrund, daher sieht es dunkel aus. Aber ja es funktioniert! :)
CWD
Mein Terminal ist viel schöner geworden. Ich weiß, dass wahre Schönheit im Inneren ist, aber ich bin oberflächlich.
Sridhar Sarnobat
1

Ich glaube nicht, dass Snow Leopard standardmäßig Farben verwendet grep . Ich hatte auf meiner OS X-Box Erfolg, indem ich eine Zeile wie alias grep=grep --color=alwaysin meiner hinzugefügt habe .bashrc, um eine konsistente Hervorhebung zu gewährleisten.

Noffle
quelle
6
--color=alwayskann ein Problem sein, wenn die Ausgabe von grep an einen anderen Befehl weitergeleitet wird. --color=autogibt die Steuerzeichen nur dann aus, wenn die Ausgabe direkt auf dem Terminal angezeigt wird
Gowtham
1

Es ist nicht bash.profile noch bash_profile, es ist .bash_profile.

Was die Farben auf Ihrem Mac angeht, legen Sie diese einfach in Ihre ~/.bash_profile :

export GREP_OPTIONS='--color=auto'
export GREP_COLOR='1;30;40'

Achten Sie darauf, .bash_profilein Ihrem Home-Verzeichnis zu verwenden ( ~/).

Rudolf Adamkovic
quelle