有些程序使用ANSI转义序列制作漂亮的进度条和内容。真好。
但不错的是,如果我把那种程序的输出放到一个文件中然后尝试查看它就会充满奇怪的转义序列。
有没有办法在记录时删除所有ANSI代码?
我通常以这种方式记录脚本的输出:
./script >> /tmp/output.log
答案 0 :(得分:7)
尝试:
$ TERM=dumb ./script >> /tmp/output.log
如果这不起作用,那是因为ANSI代码已经硬编码到脚本中,所以没有简单的方法可以删除它们。如果是这样,那是因为它正在做正确的事情,将漂亮的输出委托给libncurses
或类似的东西,这样当你更改TERM
变量时,库就不再发送这些代码。