Quand je fais quelque chose, le résultat est toujours en rouge. Je sais que la commande grep --color
imprime le résultat en couleur, qui est rouge par défaut. Puis-je changer la couleur?
Vous pouvez modifier la couleur de surbrillance de grep
à l'aide d'une variable d'environnement, GREP_COLORS
, que vous pouvez définir comme suit:
export GREP_COLORS='ms=01;31'
Les nombres peuvent styler le texte, changer la couleur de premier plan ou la couleur d’arrière-plan, ou changer les polices.
Les conditions de départ pour toutes les options GREP_COLORS
sont le style de texte, la police et les couleurs par défaut du terminal. La réinitialisation de ces options rétablira les valeurs par défaut du terminal, et non celles de grep
name __.
ᴀ;ʙ;…
- ;
sépare les options numériques que vous souhaitez combiner (par exemple, un texte en gras jaune sur noir combine les options 1
, 33
et 40
en 1;33;40
+ᴇꜰꜰᴇᴄᴛ
- ᴇꜰꜰᴇᴄᴛ est activé lorsque vous utilisez cette option numérique-ᴇꜰꜰᴇᴄᴛ
- ᴇꜰꜰᴇᴄᴛ est désactivé lorsque vous utilisez cette option numériquecolor
, green
, cyan
et grey
- dans la section "Style de texte", ils font référence à la couleur de premier plancolors
- dans la section "Style de texte", cela fait référence à la couleur de premier plan et à la couleur d'arrière-planthis color
- dans la section "Couleurs de premier plan", cela fait référence à la couleur de premier plan; dans la section "Couleurs de fond", cela fait référence à la couleur de fondUne chaîne vide ou 0
réinitialise tous les styles de texte et réinitialise les deux couleurs aux valeurs par défaut, mais ne réinitialise pas la police par défaut.
┏━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ### ┃ GNOME Terminal ┃ xterm ┃ non-GUI TTY ┃
┡━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━┩
│ │ «reset style+colors» │ «reset style+colors» │ «reset style+colors» │
│ 0 │ «reset style+colors» │ «reset style+colors» │ «reset style+colors» │
├─────┼─────────────────────────┼─────────────────────────┼───────────────────────┤
│ 1 │ +bold, +brighter color │ +bold, +brighter color │ +brighter color, │
│ │ │ │ -forced grey │
│ 2 │ +fainter color │ +fainter color │ +forced grey │
│ 3 │ +italic │ +italic │ +forced green │
│ │ │ │ ● overrides 2 and 4 │
│ 4 │ +underline │ +underline │ +forced cyan │
│ │ │ │ ● overrides 2 │
│ 5 │ «no effect» │ +blink │ «no effect» │
│ 7 │ +invert colors │ +invert colors │ +invert colors │
│ 8 │ +invisible │ +invisible │ «no effect» │
│ │ │ ● underline appears │ │
│ 9 │ +strikethrough │ +strikethrough │ «no effect» │
├─────┼─────────────────────────┤ ├───────────────────────┤
│ 21 │ -bold, -brighter color, │ +double underline │ -brighter color, │
│ │ -fainter color ├─────────────────────────┤ -forced grey │
│ 22 │ -bold, -brighter color, │ -bold, -brighter color, │ -brighter color, │
│ │ -fainter color │ -fainter color │ -forced grey │
│ 23 │ -italic │ -italic │ -forced green │
│ 24 │ -underline │ -underline, │ -forced cyan │
│ │ │ -double underline │ │
│ 25 │ «no effect» │ -blink │ «no effect» │
│ 27 │ -invert colors │ -invert colors │ -invert colors │
│ 28 │ -invisible │ -invisible │ «no effect» │
│ 29 │ -strikethrough │ -strikethrough │ «no effect» │
└─────┴─────────────────────────┴─────────────────────────┴───────────────────────┘
┏━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ### ┃ GNOME Terminal ┃ xterm ┃ non-GUI TTY ┃
┡━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━┩
│ 39 │ «reset this color» │ «reset this color» │ «reset this color» │
├─────┼─────────────────────────┼─────────────────────────┼───────────────────────┤
│ 30 │ very dark grey │ black │ black │
│ 31 │ dull red │ red │ light red │
│ 32 │ dull green │ light green │ light green │
│ 33 │ dull yellow │ yellow │ yellow │
│ 34 │ greyish blue │ dark blue │ sky blue │
│ 35 │ dull purple │ purple │ purple │
│ 36 │ teal │ cyan │ cyan │
│ 37 │ light grey │ light grey │ light grey │
├─────┼─────────────────────────┼─────────────────────────┼───────────────────────┤
│ 90 │ dark grey │ dull grey │ dull grey │
│ 91 │ red │ bright red │ bright red │
│ 92 │ Lime green │ bright green │ bright green │
│ 93 │ yellow │ bright yellow │ pure yellow │
│ 94 │ light greyish blue │ dull blue │ deep blue │
│ 95 │ light purple │ Magenta │ Magenta │
│ 96 │ cyan │ bright cyan │ bright cyan │
│ 97 │ off white │ white │ white │
├─────┴──────┬──────────────────┴─────────────────────────┴───────────────────────┤
│ 38;2;ʀ;ɢ;ʙ │ replace ʀ, ɢ, and ʙ with RGB values from 0 to 255 │
│ │ for closest supported color (non-GUI TTY has only 16 colors!) │
│ 38;5;ɴ │ replace ɴ with value from 256-color chart below │
│ │ for closest supported color (non-GUI TTY has only 16 colors!) │
└────────────┴────────────────────────────────────────────────────────────────────┘
Notez que le TTY non-graphique ne fournit pas une série de couleurs d’arrière-plan plus lumineuse.
┏━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ### ┃ GNOME Terminal ┃ xterm ┃ non-GUI TTY ┃
┡━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━┩
│ 49 │ «reset this color» │ «reset this color» │ «reset this color» │
├─────┼─────────────────────────┼─────────────────────────┼───────────────────────┤
│ 40 │ very dark grey │ black │ black │
│ 41 │ dull red │ red │ light red │
│ 42 │ dull green │ light green │ light green │
│ 43 │ dull yellow │ yellow │ yellow │
│ 44 │ greyish blue │ dark blue │ sky blue │
│ 45 │ dull purple │ purple │ purple │
│ 46 │ teal │ cyan │ cyan │
│ 47 │ light grey │ light grey │ light grey │
├─────┼─────────────────────────┼─────────────────────────┼╶╴╶╴╶╴╶╴╶╴╶╴╶╴╶╴╶╴╶╴╶╴╶┤
│ 100 │ dark grey │ dull grey │ black │
│ 101 │ red │ bright red │ light red │
│ 102 │ Lime green │ bright green │ light green │
│ 103 │ yellow │ bright yellow │ yellow │
│ 104 │ light greyish blue │ dull blue │ sky blue │
│ 105 │ light purple │ Magenta │ purple │
│ 106 │ cyan │ bright cyan │ cyan │
│ 107 │ off white │ white │ light grey │
├─────┴──────┬──────────────────┴─────────────────────────┴───────────────────────┤
│ 48;2;ʀ;ɢ;ʙ │ replace ʀ, ɢ, and ʙ with RGB values from 0 to 255 │
│ │ for closest supported color (non-GUI TTY has only 8 colors!) │
│ 48;5;ɴ │ replace ɴ with value from 256-color chart below │
│ │ for closest supported color (non-GUI TTY has only 8 colors!) │
└────────────┴────────────────────────────────────────────────────────────────────┘
Le graphique ci-dessus est une capture d'écran du contenu publié dans "Code d'échappement ANSI, couleurs 8 bits" sur Wikipedia , écrit par CMG Lee et al. Le 24 février 2016 et ultérieurement , et sous licence des auteurs sous les deux licence de copyright CC BY-SA 3. et licence de copyright GFDL .
Les couleurs du tableau 256 couleurs ci-dessus peuvent être utilisées comme suit:
38;5;ɴ
- remplacez par la valeur d'une couleur particulière dans le tableau ci-dessus pour modifier la couleur d'avant-plan par la couleur la plus proche prise en charge par le terminal48;5;ɴ
- remplacez par la valeur d'une couleur particulière dans le tableau ci-dessus pour modifier la couleur d'arrière-plan par la couleur la plus proche prise en charge par le terminalPar exemple, 38;5;214;48;5;30
définira le premier plan sur la couleur 214
et l’arrière-plan sur la couleur 30
, ce qui donnera un résultat orange sur sarcelle sur les terminaux qui le prennent en charge.
Notez que tous les terminaux ne prennent pas en charge les 256 couleurs. Il est donc important de comprendre que la couleur choisie peut ne pas être utilisée. Seule la couleur prise en charge la plus proche de celle choisie sera utilisée.
Par exemple, le TTY non-graphique ne prend en charge que les 16 couleurs de base pour le premier plan et les 8 couleurs de base pour l’arrière-plan. Par conséquent, les couleurs les plus proches qui seront utilisées risquent de ne pas correspondre à vos attentes. Par exemple, la sélection orange sur bleu sarcelle ci-dessus (38;5;214;48;5;30
) s'affiche en jaune sur noir dans le TTY non graphique, car ce sont les couleurs prises en charge les plus proches.
10
est la police par défaut. 11
à 20
sont des polices de remplacement potentielles (20
signifie généralement n ?????????????????????????????? font dans le terminaux rares qui le supportent). Seuls 10
et 12
semblent exister par défaut dans le TTY non graphique, et aucun n’existe dans le terminal GNOME ou xterm
name__.
grep
ne modifie pas correctement les polices avant de quitter. Lancez donc reset
si vous êtes bloqué dans une police non souhaitée après le retour de grep
au Shell.
┏━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ### ┃ GNOME Terminal ┃ xterm ┃ non-GUI TTY ┃
┡━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━┩
│ 10 │ «no effect» │ «no effect» │ «reset font» │
│ 11 │ «no effect» │ «no effect» │ -messed up font │
│ 12 │ «no effect» │ «no effect» │ +messed up font │
└─────┴─────────────────────────┴─────────────────────────┴───────────────────────┘
Sources de la section "Options numériques":
● "Code d'échappement ANSI, paramètres SGR (Select Graphic Rendition)" sur Wikipedia
● Vérification expérimentale sur le terminal GNOME,xterm
et TTY en mode non graphique sur Ubuntu 16.04
La valeur par défaut de GREP_COLORS
est 'ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36'
La signification de chaque élément accepté sur GREP_COLORS
peut être vérifiée à partir de page de manuel de GNU.org .
Pour terminer, et comme l'a souligné @damadam, vous devez ajouter export
à votre .bashrc
afin de sauvegarder les modifications.
Connexes:
En plus de la réponse de @M. Becerra, n'oubliez pas d'ajouter ceci export
dans ~/.bashrc
. Vous pouvez le faire comme ça:
nano ~/.bashrc
et tapez maintenant votre export
:
export GREP_COLORS='ms=01;33:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36'
Ceci définit les résultats grep
en jaune et je n'ai pas besoin de refaire le export
après le redémarrage du terminal ou de l'ordinateur.