GNU/Linux >> Tutoriels Linux >  >> Linux

Préserver la coloration après avoir passepoilé grep à grep

Un conseil :

Lors de l'utilisation de grep --color=always , les chaînes réelles transmises au canal suivant seront modifiées. Cela peut conduire à la situation suivante :

$ grep --color=always -e '1' * | grep -ve '12'
11
12
13

Même si l'option -ve '12' devrait exclure la ligne médiane, ce ne sera pas le cas car il y a des caractères de couleur entre 1 et 2 .


grep désactive parfois la sortie couleur, par exemple lors de l'écriture dans un tube. Vous pouvez remplacer ce comportement avec grep --color=always

La bonne ligne de commande serait

grep --color=always WORD * | grep -v AVOID

C'est assez verbeux, sinon vous pouvez simplement ajouter la ligne

alias cgrep="grep --color=always"

à votre .bashrc par exemple et utilisez cgrep comme le grep coloré. Lors de la redéfinition de grep vous pourriez rencontrer des problèmes avec des scripts qui reposent sur une sortie spécifique de grep et n'aime pas le code d'échappement ascii.


Linux
  1. Grep est-il lent à sortir après avoir trouvé une correspondance ?

  2. Grep :Mémoire épuisée ?

  3. Couper / Grep Et Df -h ?

  4. Grep et queue -f ?

  5. Comment puis-je grep récursivement?

Grep Regex :un guide complet

Comment exclure dans Grep

Expressions régulières dans Grep (Regex)

Commande Grep sous Linux/UNIX

Comment grep \n dans le fichier

Utiliser grep contre awk