Grep_color на mac


12

Я намагаюсь виділити свій регекс на mac за допомогою терміналу. Я поставив це моє .profile:

export GREP_COLOR='1;30;40'

Нічого не змінюється, тому я додав те саме до свого bash.profileще нічого, перезапустив машину нічого. Коли я:

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

то загоряється якийсь жовтий колір, але я задумався, чи зробив я щось не так у своєму .profileабо bash_profile.

Будь-яка допомога буде добре: сніговий леопард, просто звичайний старий термінал :-)


2
Не GREP_COLORзастаріло? У будь-якому разі grep --colorслід виділяти відповідність кольором за замовчуванням, не потребуючи змінних середовищ.
jw013

Це лише наполовину правда. GREP_COLORдозволяє налаштувати фактичні кольори, тоді як --colorлише вмикає / відключає ті кольори, які налаштовані за замовчуванням. І Я ДУМАЮ GREP_COLORS(множина) - це те, що застаріло. Ось чому моя фарбувальна форма років тому зникла, не помічаючи.
Шрідхар Сарнобат

Відповіді:


22

Це працювало на моїй машині снігового леопарда. Спробуйте просто скопіювати та вставити текст у свій термінал і побачити, чи греп показує бажану поведінку. Якщо це так, то проблема полягає в тому, що ви не додаєте його до потрібного dotfile. Яку оболонку ви використовуєте? Дотфайл, до якого слід додати його, залежить від оболонки, яку ви використовуєте.

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

Крім того, спробуйте запустити, printenvщоб побачити, які змінні середовища ви вже встановили, і перевірити, чи вже є якісь варіанти грепів.


відмінно !!! Дякую!! набагато краще, ніж налаштування псевдоніма!
cwd

1
Дивно. Я збирався проголосувати цю відповідь, але це не спрацювало для мене за допомогою терміналу на Snow Leopard. Він перетворив зіставлений текст у цільно чорні поля.
Старий Про

2
@OldPro - я б рекомендував насправді використовувати, export GREP_COLOR='1;35;40'тому що 35 - це блакитний, а 30 - сірий, 40 - чорний фон, тому він виглядає темним. Але так, це працює! :)
cwd

Мій термінал став набагато красивішим. Я знаю, що справжня краса є зсередини, але я поверховий.
Шрідхар Сарнобат

1

Я не думаю, що за замовчуванням Snow Leopard використовується колір для використання grep. Я мав успіх у своєму вікні OS X із додаванням рядка, як alias grep=grep --color=alwaysу моєму, .bashrcщоб забезпечити послідовне виділення.


6
--color=alwaysможе бути проблемою, якщо висновок grep передається в іншу команду. --color=autoвидаватиме контрольні символи лише тоді, коли вихід безпосередньо відображатиметься на терміналі
Gowtham

1

Ні, bash.profileні bash_profile, це .bash_profile.

Що стосується кольорів на вашому Mac, просто введіть це у свій ~/.bash_profile:

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

Обов’язково використовуйте .bash_profileу своєму домашньому каталозі ( ~/).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.