我想在控制台的标准输出中看到颜色输出,但我想在命令输出的捕获副本中将其删除tee
。\xc2\xa0\n在我的情况下,
命令_that_writes_color_to_stdout | 三通文件\n
我希望该文件不含 ANSI 颜色序列等,\因为这使得grep
稍后查看日志文件变得有趣:
echo -e "color \\033[1;31mRED\\033[0m output" | tee test.log\n
Run Code Online (Sandbox Code Playgroud)\n在这种情况下,\n颜色将写入控制台并写入文件“test.log”。
\ncolor ^[[1;31mRED^[[0m output\n
Run Code Online (Sandbox Code Playgroud)\n有没有办法只为 的tee
输出去除 ANSI 序列到文件?
试图让 tee 看到我的终端不知道颜色(环境变量、子 shell),但tee
很高兴只写了它所给出的内容。 \xc2\xa0\nI\xc2\xa0 想要控制台输出的颜色(对于人类消费来说,它是太棒了)\n但不希望输出的日志文件副本中有颜色。
echo -e "color \\033[1;31mRED\\033[0m output" | TERM=dumb tee test.log ; od -c test.log\n
Run Code Online (Sandbox Code Playgroud)\n我发现很多想要的人在“管道到三通”输出中使用颜色代码(通常当第一个程序意识到某些东西能够显示颜色时),但我没有找到相反的问题/答案。
\n