
Ich bin es gewohnt, grep
den Dateinamen, die Zeilennummer und die Übereinstimmung selbst einfärben zu können. Diese drei sollten unterschiedliche Farben haben. Dies funktioniert einwandfrei auf einem Linux-Terminal und sogar MinGW unter Windows, aber unter OS X GREP_COLOR
kann ich, selbst wenn ich es einstelle, nur das übereinstimmende Ergebnis einfärben.
grep
Ist die mit dem Betriebssystem mitgelieferte Version zu alt?
10.7.3 auf MBA 13" mit Terminal.app.
Antwort1
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 auf OS X installieren durchSelbstgebrautes:
brew install grep
Dies wird ggrep
so installiert, dass Ihr vorhandenes nicht überschrieben wird grep
. Wenn Sie das ändern möchten, lesen Sie die Infomeldung:
Alle Befehle wurden mit dem Präfix „g“ installiert. Wenn Sie diese Befehle mit ihren normalen Namen verwenden müssen, können Sie Ihrem PATH von Ihrer bashrc aus ein „gnubin“-Verzeichnis hinzufügen, wie:
PATH="$(brew --prefix)/opt/grep/libexec/gnubin:$PATH"
Darüber hinaus können Sie eine Farboption aktivieren und einige Verzeichnisse standardmäßig ausschließen, was es möglicherweise nützlicher macht:
alias grep="ggrep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox}"
Fügen Sie dies zu Ihrer ~/.bash_profile
oder einer anderen von Ihnen verwendeten Shell-Konfiguration hinzu.
Antwort2
Richtig. Mehrere Farben wurden erstmals in GNU grep 2.5.3 unterstützt.