Grep im Mac OS X-Terminal - zeigt nur eine Farbe an


9

Ich bin es gewohnt, den Dateinamen, die Zeilennummer und die Übereinstimmung selbst zu färben. Diese drei sollten unterschiedliche Farben haben. Dies funktioniert einwandfrei auf einem Linux-Terminal und sogar auf MinGW unter Windows, aber unter OS X kann ich nur dann Farbe für das übereinstimmende Ergebnis erhalten, wenn ich GREP_COLOR einstelle.

Ist die mit dem Betriebssystem gepackte Version von grep zu alt?

10.7.3 auf MBA 13 "mit Terminal.app.


Das funktioniert noch? -> superuser.com/questions/416835/...
emgee

Ich bin gerade von dort gekommen. Ich habe genau das getan, was beschrieben wurde. Nur eine Farbe wurde eingestellt.
Steven Lu

Antworten:


9

Wie Ignacio bereits sagte, ist OS X grep etwas veraltet (es ist Version 2.5.1). Sie können jedoch das neueste GNU grep installieren.

Wie immer können Sie die meisten fehlenden Linux-Tools unter OS X über Homebrew installieren. Es wird jedoch empfohlen , keine Duplikate für Systemtools anzubieten. Es gibt ein alternatives Repository für diese Dupes, aber Sie müssen es zuerst "antippen":

brew tap homebrew/dupes/

Dann können Sie die neue installieren grep(Version 2.11 ab Mai 2012):

brew install homebrew/dupes/grep

Beachten /usr/binSie PATH, dass dies bei Ihnen immer noch an erster Stelle steht , sodass Sie /usr/local/bin/grepdie neue Version benötigen .


Was ist ein guter Weg, um grep vom neuen Standort aus zum Laufen zu bringen? ein Alias?
Steven Lu

2
@StevenLu, möchten Sie vielleicht /usr/local/binvorher setzen /usr/bin. Sie können dies beispielsweise global durch Bearbeiten tun /etc/pathsoder Ihr Shell-Startskript (z. B. ~/.bash_profile) bearbeiten lassen PATH, um die Reihenfolge zu ändern.
Chris Seite

2
@StevenLu, siehe Ändern des Pfads, sodass / usr / local / bin vor / usr / bin steht .
Chris Seite

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.