制作和管道后保持较少的颜色

fyl*_*lou 7 linux bash zsh less make

在使用“make 2>&1”编译一些程序后,我想在less命令中保留颜色。“grep”和“ls”命令有类似的主题,但解决方案不适用于此命令。

例如,

make 2>&1 | less -R 
Run Code Online (Sandbox Code Playgroud)

不起作用。

谢谢你的帮助。

Dig*_*rat 7

最简单的解决方案是:

unbuffer make |& less -r
Run Code Online (Sandbox Code Playgroud)

这是基于在管道到 T 恤时保留颜色的答案

我必须“sudo apt-get install expect”才能安装 unbuffer 命令。

请注意,less 的“-r”选项告诉它显示 ANSI 颜色代码,同时在 STDOUT 和 STDERR 中使用 |& 管道。


cri*_*sti 6

我认为你需要为此向 gcc 传递特殊参数。试试这个,让我知道它是否有效:

export CXXFLAGS="-fdiagnostics-color"
#or
export CFLAGS="-fdiagnostics-color"
make 2>&1 | less -R 
Run Code Online (Sandbox Code Playgroud)