Grep dans le terminal de Mac OS X - affichant une seule couleur


9

Je suis habitué à ce que grep puisse colorer le nom de fichier, le numéro de ligne et la correspondance elle-même. Ces trois devraient être de couleurs différentes. Cela fonctionne parfaitement sur un terminal Linux et même MinGW sur Windows, mais sur OS X même si je mets GREP_COLOR je ne peux obtenir de la couleur que sur le résultat correspondant.

La version de grep fournie avec le système d'exploitation est-elle trop ancienne?

10.7.3 sur MBA 13 "avec Terminal.app.


Cela fonctionne toujours? -> superuser.com/questions/416835/…
emgee

Je viens juste de là. J'ai fait exactement ce qui a été décrit. Une seule couleur a été définie.
Steven Lu

Réponses:


9

Comme Ignacio l'a déjà dit, OS X grep est un peu dépassé (c'est la version 2.5.1). Vous pouvez cependant installer le dernier grep GNU.

Comme toujours, vous pouvez installer la plupart des outils Linux manquants sur OS X via Homebrew , mais sa politique n'est pas de proposer des doublons pour les outils système. Il existe un référentiel alternatif pour ces dupes, mais vous devez d'abord le "toucher":

brew tap homebrew/dupes/

Ensuite, vous pouvez installer le nouveau grep(version 2.11 à partir de mai 2012):

brew install homebrew/dupes/grep

Sachez que cela /usr/binvient toujours en premier PATH, vous avez donc besoin /usr/local/bin/grepde la nouvelle version.


Quelle est une bonne façon de lancer grep à partir du nouvel emplacement? un alias?
Steven Lu

2
@StevenLu, vous voudrez peut-être mettre /usr/local/binavant /usr/bin. par exemple, vous pouvez le faire globalement en modifiant /etc/paths, ou faire éditer votre script de démarrage du shell (par exemple, ~/.bash_profile) PATHpour changer l'ordre.
Chris Page


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.