我希望这有意义。出于各种原因,我使用“脚本”来复制我的 ssh 会话。
当我通过 less 等访问日志时,我看到以下内容:
Script started on Mon 12 Sep 2011 08:59:14 AM CDT
ESC]0;root@:~^G[root@ESC[1;31m ESC[0;0m~]#
ESC]0;root@:~^G[root@ESC[1;31m ESC[0;0m~]# logout
ESC[HESC[2JConnection to closed.^M
Script started on Mon 12 Sep 2011 09:00:32 AM CDT
Last login: Sat Sep 10 18:13:00 2011 from ^M
ESC]0;root@:~^G[root@ESC[1;31m ESC[0;0m~]#
ESC]0; 3.03, 2.32, 2.20^G
test.log (END)
当我 cat 它时,我看到了这个:
Perk ~ # cat test.log
Script started on Mon 12 Sep 2011 08:59:14 AM CDT
[root@ ~]#
[root@ ~]# logout
Connection to closed.
Script started on Mon 12 Sep 2011 09:00:32 AM CDT
Last login: Sat Sep 10 18:13:00 2011 from
[root@ ~]# [/code]
如果我尝试将其传送到文件,它会返回看起来像较少的输出。
当我在 vi 中编辑它时,我看到的是:
Script started on Mon 12 Sep 2011 08:59:14 AM CDT
^M
^[]0;root@:~^G[root@^[[1;31m ^[[0;0m~]# ^M
^[]0;root@:~^G[root@^[[1;31m ^[[0;0m~]# logout^M
^[[H^[[2JConnection to closed.^M^M
Script started on Mon 12 Sep 2011 09:00:32 AM CDT
Last login: Sat Sep 10 18:13:00 2011 from ^M^M
^[]0;root@:~^G[root@^[[1;31m ^[[0;0m~]# ^M
^[]0; 3.03, 2.32, 2.20^G^M
有人知道如何将此cat
输出放入文件以便于查看吗?
答案1
而不是常规较少的, 尝试:
less -R
答案2
你为什么不使用脚本
script -t scriptfile > timingsfile
所以你可以
replay scriptfile
时间是可选的。事实上你可以运行replay |
ansifilter
翻译成 HTML 等等
实时重播确切的脚本。我认为这更合适,因为您显然正在尝试记录交互式会话(大多数 Unix 工具都知道它们何时未连接到 tty(批处理模式、管道 stdin/out),并且已经在这种情况下阻止发出终端代码)
还有终端记录可以控制播放速度。非常适合创建特定的屏幕截图,例如
答案3
有一个命令colcrt
可以删除终端格式代码。