我使用 Unixscript
命令记录输出到终端的所有内容并将其放入日志文件中。但当我看到录制的文件时,它还包含垃圾字符。
那么如何在没有垃圾字符的情况下记录终端活动。
输出示例:
我尝试过使用将文件转换为dos todos
,vim
也尝试过使用dos2unix
但它跳过文件dos2unix: Skipping binary file
。
答案1
不确定您是否能够轻松摆脱这些。从script
手册页:
某些交互式命令(例如 vi(1))会在打字稿文件中创建垃圾。脚本最适合不操作屏幕的命令,结果旨在模拟硬拷贝终端。
您显示的上述输出是转义码,它们在终端中产生彩色输出,以及看起来有人在对拼写错误进行一些更正后按退格键的输出。
使用列
我确实在 SuperUser 上找到了这个,它使用col
命令来清理输出:
$ col -bp typescript | less -R
如果这不起作用,你也可以尝试这个变体:
$ col -bp < typescript
命令行fu
我在上找到了这个解决方案命令行fu.com它同时使用 Perl 和 col。
$ cat typescript | perl -pe 's/\e([^\[\]]|\[.*?[a-zA-Z]|\].*?\a)//g' \
| col -b > typescript-processed