5

一些程序使用 ANSI 转义序列制作漂亮的进度条和东西。那很好。

但不好的是,如果我将这种程序的输出放入一个文件中,然后尝试查看它,它就会充满奇怪的转义序列。

有没有办法在记录时去掉所有的 ANSI 代码?

我通常以这种方式记录脚本的输出:

./script >> /tmp/output.log
4

1 回答 1

7

尝试:

$ TERM=dumb ./script >> /tmp/output.log

如果这不起作用,那是因为 ANSI 代码已被硬编码到脚本中,因此没有简单的方法可以删除它们。如果是这样,那是因为它在做正确的事情,将诸如漂亮输出之类的事情委托给libncurses或类似的事情,因此当您更改TERM变量时,库不再发送这些代码。

于 2011-06-10T14:38:40.293 回答