Comment puis-je configurer grep
afin que je puisse mettre en évidence en couleur plus intelligemment? En utilisant des couleurs différentes?
Problème: le grep --color
rouge est utilisé par défaut pour mettre en évidence les correspondances, mais il reste difficile à lire pour des analyses consécutives. Si je cours grep
trois fois, j'aimerais que la première passe utilise le rouge, la seconde utilise une autre couleur (par exemple, le vert), la troisième utilise à nouveau le rouge, etc.
J'ai lu avant qu'il y ait un bidouillage pour échanger la couleur dans l'utilisation du terminal à chaque fois, afin que la sortie soit nette et plus facile à lire. Mais j'oublie ce que c'est. s'agit-il de zsh ou de bash-script, ou d'un autre shell?
PROMPT_COMMAND
n'est pas défini car la commande d'invite commencera par un;
; (4)GREP_COLOR
est obsolète .Vous recherchez un moyen simple de colorer des lignes de sortie alternatives dans bash .
Si la réponse semble un peu déroutante, suivez ceci.
nano ~/grepc.sh
. Cela ouvre un fichier appelégrepc.sh
dans mon / home (~/
).Collez ce script bash dans cela.
Si vous êtes dans nano, appuyez sur Ctrl+ Xpour essayer de fermer nano, mais avant cela, il vous sera demandé si vous souhaitez enregistrer le fichier. Faites-le en appuyant sur y sur votre clavier.
chmod +x ~/grepc.sh
.ls ~/ | grep "test" | ./grepc.sh
(En supposant que la commande soit exécutée dans / home).la source
Ceci est une adaptation de la solution de Kimvais (qu'Unrealist a également utilisée). Créer
grepc.bash
:Ceci utilise
sed
pour changer la séquence d'échappement pour le rouge en séquence d'échappement pour le vert dans les lignes alternées de son entrée. Utilisez, par exemple, commeIl semble que la
grep --color
couleur n’est utilisée que si elle écrit sur le terminal (fenêtre), et vous devez l’utiliser=always
pour qu’elle utilise la couleur lorsqu’elle écrit sur un tuyau. Et BTW, il est classique de placer des utilitaires personnels comme celui-ci dans~/bin
, puis de l'ajouter à votre PATH, vous n'avez donc pas besoin de le spécifier lorsque vous exécutez l'utilitaire.la source