1

Я надеюсь это имеет смысл. Я использую «скрипты» для создания копий моих сеансов 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) 

Когда я это вижу, я вижу это:

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 в файл для удобства просмотра?

3 ответа3

3

Вместо обычного меньше, попробуйте:

less -R
2

Почему вы не используете скрипт

script -t scriptfile > timingsfile

Так что вы можете

replay scriptfile

Сроки не являются обязательными. На самом деле вы можете запустить replay | ansifilter для перевода, скажем, в HTML и т. д.

чтобы точный сценарий воспроизводился в режиме реального времени. Я думаю, что это гораздо более уместно, так как вы явно пытаетесь регистрировать интерактивные сеансы (большинство инструментов Unix знают об этом, когда они не подключены к tty (пакетный режим, piped stdin/out)), и уже предотвращают выдачу кодов терминала в таких случаях. )


Существует также termrec, который может контролировать скорость воспроизведения. Хорошо для создания конкретных скриншотов, например

0

Существует команда colcrt которая удаляет коды форматирования терминала.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .