Comment puis-je utiliser la couleur dans le terminal de Mac OS X?

40

J'ai récemment découvert que, sur Mac OS XI, cela peut être configuré dans mon shell ~/.profileafin que, lorsque je l'utilise grep, les correspondances soient imprimées en couleur (une blanche, une rouge).

alias grep='GREP_COLOR="1;37;41" LANG=C grep --color=auto'

Mais créer un pseudonyme semble être une façon géniale de le faire. Auparavant j'avais essayé sans succès:

export GREP_COLOR=always           # works fine in Linux

Et puis j'ai aussi essayé:

export GREP_COLOR="1;37;41"

Y a-t-il une meilleure façon de faire cela que de créer un alias?

cwd
la source
Je ne vois pas le but de votre question. Un alias est comment vous faites cela. C'est pour ça. exportla variable d'environnement, par exemple dans .bash_profile, et définir alias grep='grep --color', et vous avez terminé.
Daniel Beck

Réponses:

61

Selon Grep_color sur mac, comme suggéré par @lupincho, cela semble bien fonctionner et n'utilise pas d'alias:

export GREP_OPTIONS='--color=always'
export GREP_COLOR='1;35;40'
Steve Brown
la source
13
Avoir un +1 pour cela comme une bonne solution, mais définir avec GREP_OPTIONS conduit à grep: warning: GREP_OPTIONS is deprecated; please use an alias or script. Quelque chose comme ceci est maintenant préféré:alias grep="`which grep` --color=always"
joelittlejohn
2
@joelittlejohn ne fonctionne pas avec grep dans les pipes avec xargs, par exemple:find /usr/share -name '*.txt' |xargs grep testing
rfabbri
1
@ rfabbri Je suppose que c'est l'un des sujets à aborder avec l'équipe de grep qui a déconseillé cela :)
joelittlejohn
3
--color=alwaysest dangereux. Les scripts exécutés à partir du shell hériteront également de l'option et provoqueront de très mystérieux échecs lorsque grep commencera à injecter des codes de couleur à afficher dans les scripts. --color=autone cause pas ce problème.
Sampo
1
@joelittlejohn ce n'est pas vrai pour le grep par défaut dans OSX. Même sur High Sierra 10.13, il utilise FREEBSD grep 2.5.1 qui n’A PAS amorti GREP_OPTIONS. Ce n'est vrai que dans gnu / grep
cde