Grep nel terminale di Mac OS X: visualizza solo un colore


9

Sono abituato a grep poter colorare il nome file, il numero di riga e la corrispondenza stessa. Questi tre dovrebbero essere di colori diversi. Funziona perfettamente su un terminale Linux e persino su MinGW su Windows, ma su OS X anche se imposto GREP_COLOR posso solo ottenere colore sul risultato corrispondente.

La versione di grep inclusa nel pacchetto operativo è troppo vecchia?

10.7.3 su MBA 13 "con Terminal.app.



Sono appena arrivato da lì. Ho fatto esattamente ciò che è stato descritto. È stato impostato solo un colore.
Steven Lu

Risposte:


9

Come già detto Ignacio, OS X grep è un po 'obsoleto (è la versione 2.5.1). Puoi installare l'ultimo GNU grep però.

Come sempre, puoi installare la maggior parte degli strumenti Linux mancanti su OS X tramite Homebrew , ma la sua politica non è quella di offrire duplicati per gli strumenti di sistema. Esiste un repository alternativo per questi duplicati, ma prima devi "toccarlo":

brew tap homebrew/dupes/

Quindi è possibile installare il nuovo grep(versione 2.11 a maggio 2012):

brew install homebrew/dupes/grep

Tieni presente che /usr/binviene ancora prima nel tuo PATH, quindi è necessario /usr/local/bin/grepper la nuova versione.


Qual è un bel modo per far funzionare grep dalla nuova posizione? un alias?
Steven Lu,

2
@StevenLu, potresti voler mettere /usr/local/binprima /usr/bin. ad esempio, è possibile farlo a livello globale modificando /etc/pathso facendo modificare lo script di avvio della shell (ad esempio ~/.bash_profile) PATHper modificare l'ordine.
Chris Page


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.