Grep_color sur mac

12

J'essaie d'obtenir ma regex en surbrillance sur mac en utilisant le terminal. J'ai mis c'est mon .profile:

export GREP_COLOR='1;30;40'

Rien ne change, alors j'ai ajouté la même chose à mon bash.profileencore rien, redémarré la machine rien. Quand je suis:

egrep --color=auto ".*\W blah blah "

puis il allume une couleur jaune mais je me demandais si j'avais fait quelque chose de mal dans mon .profileou bash_profile.

N'importe quelle aide serait bonne: léopard des neiges, avec un simple vieux terminal :-)

StudentRik
la source
2
N'est pas GREP_COLORobsolète? Quoi grep --colorqu'il en soit, vous devez mettre en évidence les correspondances dans la couleur par défaut, sans avoir besoin de variables d'environnement.
jw013
Ce n'est qu'à moitié vrai. GREP_COLORvous permet de personnaliser les couleurs réelles, tandis que --colorseulement active / désactive les couleurs configurées par défaut. Et je pense que GREP_COLORS(pluriel) est ce qui est déconseillé. C'est pourquoi ma forme de coloration a disparu il y a des années sans que je m'en rende compte.
Sridhar Sarnobat

Réponses:

22

Cela a fonctionné sur ma machine de léopard des neiges. Essayez simplement de copier et coller le texte dans votre terminal et de voir si grep affiche le comportement souhaité. Si c'est le cas, le problème est que vous ne l'ajoutez pas au bon fichier dot. Quel shell utilisez-vous? Le fichier dot auquel vous devez l'ajouter dépend du shell que vous utilisez.

export GREP_OPTIONS='--color=auto'
export GREP_COLOR='1;30;40'

Essayez également de courir printenvpour voir quelles variables d'environnement vous avez déjà définies et voir si des options de grep existent déjà.

Mark McKinstry
la source
excellent!!! Merci!! bien mieux que de créer un alias!
cwd
1
Bizarre. J'allais voter cette réponse, mais cela n'a pas fonctionné pour moi en utilisant Terminal sur Snow Leopard. Il a transformé le texte assorti en boîtes entièrement noires.
Old Pro
2
@OldPro - Je recommanderais d'utiliser réellement export GREP_COLOR='1;35;40'parce que 35 est cyan et 30 est gris - 40 est fond noir, donc ça a l'air sombre. Mais oui ça marche! :)
cwd
Mon terminal est devenu beaucoup plus beau. Je sais que la vraie beauté est à l'intérieur mais je suis superficielle.
Sridhar Sarnobat
1

Je ne pense pas que le paramètre par défaut de Snow Leopard soit d'utiliser la couleur pour grep. J'ai réussi sur ma boîte OS X à ajouter une ligne comme la alias grep=grep --color=alwaysmienne .bashrcpour assurer une mise en évidence cohérente.

noffle
la source
6
--color=alwayspeut être un problème si la sortie de grep est dirigée vers une autre commande. --color=autoémettra les caractères de contrôle uniquement lorsque la sortie sera directement affichée sur le terminal
Gowtham
1

Ce n'est pas bash.profileni bash_profile, c'est .bash_profile.

Quant aux couleurs sur votre Mac, mettez-les simplement dans votre ~/.bash_profile:

export GREP_OPTIONS='--color=auto'
export GREP_COLOR='1;30;40'

Assurez-vous de l'utiliser .bash_profiledans votre répertoire personnel ( ~/).

Rudolf Adamkovic
la source