Answers:
您可以grep
使用环境变量来更改的突出显示颜色,GREP_COLORS
可以这样设置:
export GREP_COLORS='ms=01;31'
数字可以设置文本样式,更改前景色或背景色或更改字体。
所有GREP_COLORS
选项的起始条件都是终端的默认文本样式,字体和颜色。重置任何这些将恢复为终端的默认值,而不是任何grep
的默认值。
ᴀ;ʙ;…
- ;
要结合分离数字选项(例如,大胆的黄上黑色文本合并选项1
,33
和40
成1;33;40
)+ᴇꜰꜰᴇᴄᴛ
— 使用该数字选项时,ᴇꜰꜰᴇᴄᴛ会打开-ᴇꜰꜰᴇᴄᴛ
— 使用该数字选项时,ᴇꜰꜰᴇᴄᴛ将关闭color
,green
,cyan
,和grey
- “文本样式”部分中,这是指对前景色colors
—在“文字样式”部分中,这既指前景色,也指背景色this color
—在“前景色”部分中,指的是前景色;在“背景色”部分中,是指背景色空字符串或0
重置所有文本样式,并将两种颜色重置为默认值,但不将字体重置为默认值。
┏━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ### ┃ 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!) │
└────────────┴────────────────────────────────────────────────────────────────────┘
请注意,非GUI TTY不会提供更明亮的背景颜色系列。
┏━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ### ┃ 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!) │
└────────────┴────────────────────────────────────────────────────────────────────┘
上面的图是刊登在内容截图“ANSI转义代码,8位色彩”在维基百科上,撰写由CMG Lee等人。于2016年2月24日及之后,并由作者根据CC BY-SA 3.0版权许可和GFDL版权许可进行许可。
上面的256色图表中的颜色可以按如下方式使用:
38;5;ɴ
—用上表中的特定颜色值替换to,以将前景色更改为终端支持的最接近的颜色48;5;ɴ
—用上表中的特定颜色值替换to,以将背景颜色更改为终端支持的最接近的颜色例如,38;5;214;48;5;30
将前景设置为color 214
,将背景设置为color 30
,在支持该功能的终端上将其设置为淡绿色。
请注意,并非所有终端都支持全部256种颜色,因此务必意识到可能不会使用所选颜色,这一点很重要。仅使用最接近所选颜色的支持颜色。
例如,非GUI TTY仅支持前景的基本16种颜色和背景的基本8种颜色,因此最终使用的最接近的颜色可能不是您所期望的。例如,38;5;214;48;5;30
在非GUI TTY中,()上方的桔黄色显示为黑底黄,因为这些是最接近的受支持颜色。
10
是默认字体。11
通过20
是潜在的替代字体(20
通常在支持该字体的罕见终端中表示𝕱𝖗𝖆𝖐𝖙𝖚𝖗字体)。在非GUI TTY中,默认情况下仅存在10
且12
似乎存在,而GNOME Terminal或中不存在xterm
。
grep
不能在退出前正确切换字体,因此reset
如果grep
返回外壳后卡住了不需要的字体,请运行。
┏━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ### ┃ 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 │
└─────┴─────────────────────────┴─────────────────────────┴───────────────────────┘
“数字选项”部分的来源:
● Wikipedia上的“ ANSI转义代码,SGR(选择图形渲染)参数”
●GNOME Terminal上的实验验证xterm
,以及Ubuntu 16.04上的非GUI模式的TTY
默认值GREP_COLORS
就是'ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36'
GREP_COLORS
可以在GNU.org的手册页上查看接受的每个元素的含义。
如@damadam所指出的那样,为了完成操作,您需要将添加export
到其中.bashrc
以保存更改。
有关:
38;5;ɴ
,其中ɴ应该用颜色值之一替换。对于背景,48;5;ɴ
以相同的方式使用。例如,38;5;214;48;5;30
应该给您青绿色。如果不支持,则您的终端可能不支持256色。例如,非GUI TTY仅支持16种颜色的前景色和8种背景的色,并将从最接近于蓝绿色的橙色(黑色为黄色)的16种和8种中选择前景和背景颜色。
除了@M的答案。贝塞拉,不要忘了添加此export
内~/.bashrc
。您可以这样做:
nano ~/.bashrc
然后输入您的export
:
export GREP_COLORS='ms=01;33:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36'
这会将grep
结果设置为黄色,并且我不需要重做export
重启后的终端或计算机。
<<<hello GREP_COLORS='ms=5;104' grep '.*'
一次吧!例如,可以在此处找到代码列表(第6节)。