如何在命令输出中突出显示单词或短语?

如何在命令输出中突出显示单词或短语?

例如,我输入lshw列出硬件模块;当我按下回车键时,它会给我一长串输出,但如果我想在输出中突出显示一个单词或短语怎么办?

答案1

根据StackOverflow 问题,你可以使用grep -E --color

例如,如果您想突出显示“产品”一词,您可以这样做:

lshw | grep -E --color 'product|'

要在 less 中用输出突出显示“产品”一词,您可以执行以下操作:

lshw | grep -E --color=always 'product|' | less -R

答案2

使用ANSI 转义序列,可以在控制台中为任何内容着色。将该方法与 awk 结合,我们可以过滤特定的单词,并使其着色。

考虑这个例子:

$> df | awk  '{for(i=1;i<=NF;i++){ if($i~/sda/) $i=sprintf("\033[0;36m %s \033[0;00m",$i)}; print}'   

在此处输入图片描述

相关内容