Reprodução de gravação de shell de scripts

1

Espero que isso faça sentido. Eu uso 'scripts' para fazer cópias das minhas sessões de ssh por várias razões.

Quando eu acesso os logs por menos, etc, eu vejo isso:

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) 

Quando eu brinco, vejo isso:

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]

Se eu tentar canalizar isso para um arquivo, ele retornará para parecer com menos saída.

Quando eu edito no vi, é isso que eu vejo:

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

Alguém sabe como posso obter essa saída cat em um arquivo para facilitar a visualização?

    
por JPerkSter 15.09.2011 / 02:23

3 respostas

3

Em vez de menos regular, tente:

less -R
    
por 15.09.2011 / 03:05
2

Por que você não usa o script

script -t scriptfile > timingsfile

Então você pode

replay scriptfile

O tempo é opcional. Na verdade, você pode executar replay | ansifilter para traduzir, digamos, HTML etc.

para que o script exato seja reproduzido em tempo real. Eu acho que isso é muito mais apto, já que você está tentando registrar sessões interativas (a maioria das ferramentas Unix está ciente de quando não estão conectadas a um tty (modo batch, stdin / out canalizado) e já impede a emissão de códigos de terminal em tais casos)

Há também termrec que é capaz de controlar a velocidade de reprodução. Bom para criar capturas de tela específicas, por exemplo,

    
por 15.09.2011 / 10:58
0

Existe um comando colcrt que retira os códigos de formatação do terminal.

    
por 15.09.2011 / 07:04