小编joh*_*nyB的帖子

将颜色保留在标准输出中,但从 T 恤中删除

我想在控制台的标准输出中看到颜色输出,但我想在命令输出的捕获副本中将其删除tee。\xc2\xa0\n在我的情况下,

\n
命令_that_writes_color_to_stdout | 三通文件
\n

我希望该文件不含 ANSI 颜色序列等,\因为这使得grep稍后查看日志文件变得有趣:

\n
echo -e "color \\033[1;31mRED\\033[0m output" | tee test.log\n
Run Code Online (Sandbox Code Playgroud)\n

在这种情况下,\n颜色将写入控制台并写入文件“test.log”。

\n
color ^[[1;31mRED^[[0m output\n
Run Code Online (Sandbox Code Playgroud)\n

有没有办法只为 的tee输出去除 ANSI 序列到文件?

\n

试图让 tee 看到我的终端不知道颜色(环境变量、子 shell),但tee很高兴只写了它所给出的内容。 \xc2\xa0\nI\xc2\xa0 想要控制台输出的颜色(对于人类消费来说,它是太棒了)\n但不希望输出的日志文件副本中有颜色。

\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

colors text-processing tee ansi

9
推荐指数
1
解决办法
3591
查看次数

标签 统计

ansi ×1

colors ×1

tee ×1

text-processing ×1