Grep_color na Mac

12

Próbuję wyróżnić moje wyrażenie regularne na komputerze Mac za pomocą terminalu. Umieściłem to .profile:

export GREP_COLOR='1;30;40'

Nic się nie zmienia, więc dodałem to samo do mojego bash.profilenadal nic, zrestartowałem maszynę nic. Kiedy jestem:

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

potem świeci jakimś żółtym kolorem, ale zastanawiałem się, czy zrobiłem coś złego w moim .profilelub bash_profile.

Każda pomoc byłaby dobra: lampart śnieżny, ze zwykłym starym terminalem :-)

StudentRik
źródło
2
Czy nie jest GREP_COLORprzestarzałe? W każdym razie grep --colorpowinny wyróżniać dopasowania w domyślnym kolorze, bez potrzeby stosowania zmiennych środowiskowych.
jw013
To tylko połowa prawdy. GREP_COLORpozwala dostosować rzeczywiste kolory, podczas gdy --colorwłącza / wyłącza tylko te kolory, które są domyślnie skonfigurowane. I MYŚLĘ GREP_COLORS(liczba mnoga) jest przestarzała. Dlatego moja forma kolorowania lata temu zniknęła bez mojej uwagi.
Sridhar Sarnobat,

Odpowiedzi:

22

To działało na mojej maszynie lamparta śnieżnego. Spróbuj po prostu skopiować i wkleić tekst w swoim terminalu i sprawdzić, czy grep pokazuje pożądane zachowanie. Jeśli tak, problem polega na tym, że nie dodajesz go do odpowiedniego pliku kropkowego. Jakiej powłoki używasz? Plik kropkowy, do którego chcesz go dodać, zależy od używanej powłoki.

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

Spróbuj także uruchomić, printenvaby zobaczyć, jakie zmienne środowiskowe już ustawiłeś i sprawdzić, czy są już jakieś opcje grep.

Mark McKinstry
źródło
doskonały!!! Dziękuję Ci!! o wiele lepsze niż konfigurowanie aliasu!
cwd
1
Dziwne. Chciałem głosować nad odpowiedzią, ale nie działało to dla mnie przy użyciu Terminalu w systemie Snow Leopard. Zamienił dopasowany tekst w całkowicie czarne pola.
Old Pro
2
@OldPro - Polecam używanie, export GREP_COLOR='1;35;40'ponieważ 35 to niebieskozielony, a 30 to szary - 40 to czarne tło, więc wygląda ciemno. Ale tak to działa! :)
cwd
Mój terminal stał się o wiele piękniejszy. Wiem, że prawdziwe piękno jest w środku, ale jestem powierzchowna.
Sridhar Sarnobat,
1

Nie sądzę, aby domyślnym ustawieniem Snow Leopard było używanie koloru grep. Odniosłem sukces na moim systemie OS X, dodając linię podobną alias grep=grep --color=alwaysdo mojej, .bashrcaby zapewnić spójne podświetlanie.

noffle
źródło
6
--color=alwaysmoże być problemem, jeśli dane wyjściowe grep są przesyłane do innej komendy. --color=autowyemituje znaki sterujące tylko wtedy, gdy dane wyjściowe są bezpośrednio wyświetlane na terminalu
Gowtham
1

To nie jest bash.profileani bash_profileto .bash_profile.

Jeśli chodzi o kolory na komputerze Mac, po prostu umieść to w ~/.bash_profile:

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

Pamiętaj, aby użyć .bash_profilew swoim katalogu domowym ( ~/).

Rudolf Adamkovic
źródło