从typescript / tmux输出中删除显示控制代码

时间:2012-10-04 02:58:43

标签: python linux perl bash tmux

我正在使用tmux的管道窗格来记录我正在做的事情,我想要解析并记录我输入的命令等等。但是当我得到xxx.log文件并打开时用vim,我发现有很多特殊的词,比如^ H,^ M,^ G等,见样本:

administrator@ubuntu:~$ echo "hello,world[K[K[K[K[K[K[K[K[K[K"
h
administrator@ubuntu:~$ ^G^G^G^G
administrator@ubuntu:~$ 

我知道tmux记录了我输入的所有内容,但是一些带有Ctrl / alt前缀的键无法显示,我想忽略它们。如何使用perl / python或C归档,任何提示?

1 个答案:

答案 0 :(得分:1)

在一般情况下,这很难,因为有些程序会广泛使用显示控制代码来绘制对话框等。如果你只是想删除任何单独的不可打印的字符,那么tr很容易,但如果你想要删除显示控制代码,这显然更复杂,并且基本上需要了解您正在使用哪个终端仿真器。一个看似合理的目标是xterm,但我不知道有任何现成解决方案来剥离xterm显示代码。