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

标签 python linux perl bash tmux

我正在使用 tmux 的管道 Pane 来记录我在做什么,我想解析并考虑我输入的命令等。但是当我得到 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 将其归档,有什么提示吗?

最佳答案

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

关于python - 从 typescript/tmux 输出中删除显示控制代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12719710/

相关文章:

java - 无法使用 Runtime.getRuntime().exec ("commandLine") 启动 java 程序;在 Linux 薄荷中

linux - Linux 中是否有任何标准的退出状态代码?

linux - 设置 WSGI 应用程序时的 PCRE 问题

perl - 如何在 Catalyst 应用程序中公开多对多标签样式关系?

Perl: mock -d -f 和 friend 。如何将它们放入 CORE::GLOBAL

python - 从数据框中检索一定数量的行

python - Python 中两个(非传统)向量的欧氏距离

python替代正则表达式搜索返回无的元组

python - 无法在 Cloud Natural Language API 中设置项目

perl - 我如何将其插入哈希?