Grep w terminalu Mac OS X - wyświetla tylko jeden kolor


9

Jestem przyzwyczajony do grepowania, że ​​mogę pokolorować nazwę pliku, numer linii i samo dopasowanie. Te trzy powinny być w różnych kolorach. Działa to bezbłędnie na terminalu Linux, a nawet MinGW w systemie Windows, ale w OS X, nawet jeśli ustawię GREP_COLOR, mogę uzyskać kolor tylko w dopasowanym wyniku.

Czy wersja grep jest spakowana z systemem operacyjnym za stara?

10.7.3 na MBA 13 "z Terminal.app.



Właśnie przyjechałem stamtąd. Zrobiłem dokładnie to, co zostało opisane. Ustawiono tylko jeden kolor.
Steven Lu

Odpowiedzi:


9

Jak już powiedział Ignacio, grep OS X jest nieco przestarzały (jest to wersja 2.5.1). Możesz jednak zainstalować najnowszą wersję GNU grep.

Jak zawsze możesz zainstalować większość brakujących narzędzi Linux w OS X za pośrednictwem Homebrew , ale jego polityka nie polega na oferowaniu duplikatów narzędzi systemowych. Istnieje alternatywne repozytorium dla tych duplikatów, ale najpierw musisz je „dotknąć”:

brew tap homebrew/dupes/

Następnie możesz zainstalować nowy grep(wersja 2.11 z maja 2012):

brew install homebrew/dupes/grep

Pamiętaj, że /usr/binwciąż jest na pierwszym miejscu PATH, więc potrzebujesz /usr/local/bin/grepnowej wersji.


Jaki jest dobry sposób na uruchomienie grep z nowej lokalizacji? alias?
Steven Lu

2
@StevenLu, możesz chcieć umieścić /usr/local/binwcześniej /usr/bin. np. możesz to zrobić globalnie, edytując /etc/pathslub ~/.bash_profileedytować skrypt startowy powłoki (np. ), PATHaby zmienić kolejność.
Chris Page


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.