我想在控制台的标准输出中看到颜色输出,但我想在tee
命令输出的捕获副本中将其删除。就我而言,
command_that_writes_color_to_stdout | 三通文件
我希望文件中没有 ANSI 颜色序列等,因为它使grep
以后的日志文件变得有趣:
echo -e "color \033[1;31mRED\033[0m output" | tee test.log
在这种情况下,颜色被写入控制台并写入文件“test.log”。
color ^[[1;31mRED^[[0m output
有没有办法只为tee
文件的输出去除 ANSI 序列?
试图让 tee 看到我的终端不知道颜色(环境变量、子外壳),但很tee
高兴只写它给出的内容。我想要控制台输出的颜色(供人类消费,这很棒),但不希望输出的日志文件副本中的颜色。
echo -e "color \033[1;31mRED\033[0m output" | TERM=dumb tee test.log ; od -c test.log
我发现很多人想要在他们的“piped to tee”输出中使用颜色代码(通常是当第一个程序知道可以显示颜色的东西时),但我没有找到相反的问题/答案。