处理它时,我可以保留编译器输出的格式吗?

时间:2016-11-23 14:45:03

标签: c++ bash redirect gcc formatting

每当我调用运行GCC时,它很好地格式化其输出(使文件名加粗,注意标签为白色,错误标签为红色等)。但是,当我想重定向它并仍然显示它时,格式化就会消失......

示例:

make                                    # The display is formatted
(...)
make |& tee >(xargs echo > example.out) # The display is not formatted
(...)

如何在保持原始显示格式化的同时重定向输出?

1 个答案:

答案 0 :(得分:1)

文档说(File: gcc-6.info, Node: Diagnostic Message Formatting Options):

  

-fdiagnostics-color [= WHEN]

     

在诊断中使用颜色。时间是neveralwaysauto。   默认值取决于编译器的配置方式,它可以   是以上WHEN选项中的任何一个,如果never也是GCC_COLORS   环境中不存在环境变量,auto   除此以外。 auto表示仅在标准错误时使用颜色   是一个终端。