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中粗体字体的选定部分的主要内容,如果未能解决你的问题,请参考以下文章

Bash 的隐藏功能

c shell 和bash有啥区别

如何在 Bash 中输出粗体文本?

SHELL中bash的部分特性

Kernel,Shell,Bash 的关系

bash的特性