管道较少但保持突出显示

管道较少但保持突出显示

是否可以通过管道将输出(例如dmesg)传输到类似(或等效)的命令less并保留原始命令使用的文本突出显示?

例如:左边dmesg | less右边dmesg

<code>dmesg | less</code> 与 <code>dmesg</code> 相比

答案1

使用--human参数在类似环境中查看彩色dmesg输出less

dmesg --human --color=always

或者使用简短版本:

dmesg -H

或者,使用以下命令来实现类似的结果。

dmesg --color=always | less -R

许多其他产生彩色输出的实用程序(lsgrep等等)也有类似的 --color=always选项。

答案2

一个通用的命令,用于保存独立于提供输出的程序的颜色,即命令unbuffer(它是expect包的一部分)。

用法:

unbuffer dmesg | less -R

答案3

是的,效果很好。

  • 对于树: tree -C | less -r

  • 对于 ls: ls -lA --color=always | less -r

  • 对于pytest: py.test --color=yes | less -r

相关内容