加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 存储脚本输出时删除ANSI代码

发布时间:2020-12-14 01:10:56 所属栏目:Linux 来源:网络整理
导读:有些程序使用ANSI转义序列制作漂亮的进度条和内容.真好. 但是不好的是,如果我把那种程序的输出放到一个文件然后尝试查看它就会充满奇怪的转义序列. 有没有办法在记录时去除所有ANSI代码? 我通常以这种方式记录脚本的输出: ./script /tmp/output.log 解决方
有些程序使用ANSI转义序列制作漂亮的进度条和内容.真好.

但是不好的是,如果我把那种程序的输出放到一个文件然后尝试查看它就会充满奇怪的转义序列.

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

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

./script >> /tmp/output.log

解决方法

尝试:

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读