将 ncurses 二进制转储转换为文本

将 ncurses 二进制转储转换为文本

我有一个 ncurses 转储(例如来自 GNU 屏幕的屏幕记录器),我想将其转换为文本

(其中有一些对话,一些列表和其他东西,所有文本,但是 ncurses 格式化,比如有一个永久状态栏,时钟等,我真的不想改变关于我使用哪个 ncurses 软件的主题以及如何使用它来生成文本而不是通用解决方案...我提出这个问题是因为它不仅是一个软件,而且很少,来自 GNU screen 的屏幕录像机只是一个例子)

如果我使用 less 工具来查看文件,它会抱怨是二进制文件,然后显示很多垃圾

如果我使用 cat,我可以看到文本,但可以同时看到所有页面,根本无法减慢速度或与其交互(如果我添加 | less ...它的行为就像根本不使用 cat 一样)

与 grep 相同,如果找到字符串,它只会一次显示所有行

那么,有什么想法吗?

答案1

less -fr您通常可以使用:-f强制less打开文件(即使它认为它是二进制文件)来查看此类文件(对于“view”的某些值) ,并-r告诉它按原样将控制字符传递到显示。另一种方法是在终端中显示它们,放慢速度,以便您可以跟踪正在发生的事情(这对于查看 ANSI 动画更有用,但对您的情况可能会有所帮助);您可以使用slowcat为了这。

您可能会通过使用ansi2txtansi2html来自获得更有用的结果彩色日志工具

相关内容