9 votes

Grep dans le terminal de Mac OS X -- affichage d'une seule couleur

Je suis habitué à grep pouvoir colorier le nom du fichier, le numéro de ligne et la correspondance elle-même. Ces trois éléments devraient être de couleurs différentes. Cela fonctionne parfaitement sur un terminal Linux et même sur MinGW sous Windows, mais sous OS X, même si j'ai réglé le paramètre GREP_COLOR Je ne peux obtenir la couleur que sur le résultat apparié.

Est la version de grep emballé avec l'OS trop vieux ?

10.7.3 sur MBA 13" avec Terminal.app.

9voto

slhck Points 209720

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 la dernière version de GNU grep.

Comme toujours, vous pouvez installer la plupart des outils Linux manquants sur OS X par le biais de Homebrew :

brew install grep

Cela va installer ggrep afin de ne pas écraser votre grep . Si vous voulez changer cela, consultez le message d'information :

Toutes les commandes ont été installées avec le préfixe "g". Si vous avez besoin d'utiliser ces commandes avec leurs noms normaux, vous pouvez ajouter un répertoire "gnubin" à votre PATH depuis votre bashrc comme suit :

PATH="$(brew --prefix)/opt/grep/libexec/gnubin:$PATH"

En outre, vous pouvez activer une option de couleur et exclure certains répertoires par défaut, ce qui peut le rendre plus utile :

alias grep="ggrep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox}"

Ajoutez ceci à votre ~/.bash_profile ou toute autre configuration Shell que vous utilisez.

1voto

Correct. Les couleurs multiples ont été supportées pour la première fois dans GNU grep 2.5.3.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X