bash:bash shell中粗体字体的选定部分
Posted
技术标签:
【中文标题】bash:bash shell中粗体字体的选定部分【英文标题】:Bash: Selected Part in BOLD font in bash shell 【发布时间】:2013-10-24 12:27:27 【问题描述】:有没有办法从大文件中提取一些文本并在 Linux BASH shell 中用粗体字母标记? 喜欢
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 15G 11G 3.3G 76% /
tmpfs 7.9G 0 7.9G 0% /dev/shm
/dev/sda3 51G 45G 3.8G 93% /home
/dev/sdc1 917G 359G 512G 42% /data
我有上面的输出,并且每当系统向我发送有关此 df 输出的邮件时,我希望 /data 行应为粗体。
【问题讨论】:
您想查看完整的文本并突出显示匹配的文本吗?请提供有关您的要求的更多详细信息。使用 GNU grep:grep --color=auto
any way to grep some text from large file
-- 是的。 mark that in BOLD letters in Linux BASH shell
-- 取决于你的终端。
【参考方案1】:
Bash 并没有真正的粗体(它确实有明亮的效果,这实际上是等效的)。您可以使用sed
插入 bash 控制代码,但如果您不太关心确切的颜色选择,您可以使用
grep --color -E "text match pattern|" mylargefile
让 grep 进行突出显示。 (有关替代方案和讨论,请参阅Colorized grep -- viewing the entire file with highlighted matches)
【讨论】:
【参考方案2】:使用 ANSI 转义序列可以做到这一点(虽然这取决于终端):
echo -e "\033[1m$(grep '/data' file)\033[0m"
将产生:
/dev/sdc1 917G 359G 512G 42% /data
【讨论】:
谢谢,它有效,但我在这方面有一些扩展要求,如果找到模式,我想要一整行粗体。以上是关于bash:bash shell中粗体字体的选定部分的主要内容,如果未能解决你的问题,请参考以下文章