如何使用终端仅为文本中的一种字符着色?

如何使用终端仅为文本中的一种字符着色?

我只想为名为 test.txt 的文本文件中的符号 & 着色

答案1

我猜您想在终端中显示文本文件的内容并突出显示&该输出中的所有字符。

该文件test.txt可能如下所示:

Apples & Bananas
Strawberries & Raspberries
Cookies & Chocolate & Ice Cream
Pizza

Pineapples

然后,您可以使用grep来为文件中与给定模式匹配的所有部分着色:

grep -E '^|&' test.txt

彩色输出

此命令的作用是将扩展的(启用该功能,允许我们在模式中-E使用)正则表达式与输入文件的每一行进行匹配,打印包含匹配的每一行,并用红色突出显示实际匹配的部分。|^|&test.txt

我们使用该模式^|&来匹配行首 ( ^) 或文字与符号 ( &)。第一部分需要包含输出中的所有行,而不仅仅是包含与符号的行。

注意:颜色是隐式启用的,因为在 Ubuntu 上,默认情况下,grep别名为grep --color=auto,如果输出到终端(而不是管道或文件),则会打开彩色突出显示。如果您没有此别名,则必须为自己添加--color=auto--color=always参数grep

相关内容