Grep di terminal Mac OS X - hanya menampilkan satu warna

9

Saya terbiasa grep bisa mewarnai nama file, nomor baris, dan pertandingan itu sendiri. Ketiga warna ini harus berbeda. Ini berfungsi dengan sempurna di terminal Linux dan bahkan MinGW di Windows, tetapi pada OS X bahkan jika saya mengatur GREP_COLOR saya hanya bisa mendapatkan warna pada hasil yang cocok.

Apakah versi grep yang dikemas dengan OS terlalu lama?

10.7.3 pada MBA 13 "dengan Terminal.app.

Steven Lu
sumber
Ini masih bekerja? -> superuser.com/questions/416835/…
emgee
Saya baru saja datang dari sana. Saya melakukan persis apa yang dijelaskan. Hanya satu warna yang ditetapkan.
Steven Lu

Jawaban:

9

Seperti yang sudah dikatakan Ignacio, OS X grep agak ketinggalan jaman (ini versi 2.5.1). Anda dapat menginstal grep GNU terbaru.

Seperti biasa, Anda dapat menginstal sebagian besar perangkat Linux yang hilang pada OS X melalui Homebrew , tetapi kebijakannya bukan untuk menawarkan duplikat untuk alat sistem. Ada repositori alternatif untuk dupes ini, tetapi Anda harus "ketuk" terlebih dahulu:

brew tap homebrew/dupes/

Kemudian Anda dapat menginstal yang baru grep(versi 2.11 pada Mei 2012):

brew install homebrew/dupes/grep

Sadarilah bahwa /usr/binmasih ada yang lebih dulu di Anda PATH, jadi Anda perlu /usr/local/bin/grepuntuk versi yang baru.

slhck
sumber
Apa cara yang bagus untuk menjalankan grep dari lokasi baru? sebuah alias?
Steven Lu
2
@ SevenLu, Anda mungkin ingin meletakkan /usr/local/binsebelumnya /usr/bin. misalnya, Anda dapat melakukan ini secara global dengan mengedit /etc/paths, atau meminta skrip startup shell Anda (misalnya, ~/.bash_profile) mengedit PATHuntuk mengubah urutannya.
Chris Halaman
1

Benar. Beragam warna pertama kali didukung di GNU grep 2.5.3.

Ignacio Vazquez-Abrams
sumber