![如何使用终端仅为文本中的一种字符着色?](https://linux22.com/image/1010140/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E7%BB%88%E7%AB%AF%E4%BB%85%E4%B8%BA%E6%96%87%E6%9C%AC%E4%B8%AD%E7%9A%84%E4%B8%80%E7%A7%8D%E5%AD%97%E7%AC%A6%E7%9D%80%E8%89%B2%EF%BC%9F.png)
我只想为名为 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
。