É possível remover as seqüências ESC no arquivo de saída do GNU Screen? Coisas como cores, tabulações e outros caracteres de escape entram nos arquivos de log e se tornam difíceis de decifrar.
Eu tentei o Dr. Google & Co., além de ler o manual, mas não consegui encontrar nada adequado ...
Talvez eu tenha esquecido alguma coisa?
linux
terminal
gnu-screen
shaond
fonte
fonte
Use ansifilter.
fonte
brew install ansifilter
e funcionou como um encanto.Tente também a opção -r ou -R de less.
fonte
Depois de capturar sua sessão no screenlog.n, você pode posicionar o arquivo no terminal e usar o comando de cópia impressa da tela para despejar a saída do gato em um arquivo. O resultado fornecerá uma saída limpa que não possui nenhuma sequência de escape.
A única 'pegadinha' parece ser a de garantir que a cópia impressa capture tudo no buffer de rolagem e que o buffer de rolagem contenha apenas o que você deseja capturar.
Observe que -h garante que você capture todo o histórico de rolagem e não apenas o que está à vista imediata
O arquivo screenlog.n.cleaned agora conterá uma cópia impressa da saída do gato e não incluirá nenhuma sequência de escape
fonte
wc -l
não funcionou para mim. Ele retornou 28226, mas realmente precisava de 33031 no meu caso.Eu uso o
strings
comando para tornar um log de tela legível. No Debian, faz parte do pacote binutils.Como sua página de manual diz:
fonte
Se você for
screen
usuário, a solução de cópia impressa em tela sugerida pela publicação de Joel Verks funcionará melhor - assumindo que você tenha uma grande rolagem definida em seu.screenrc
:então você faria:
Exiba seu
screenlog
arquivo:Use
hardcopy -h
(consulte a página de manual da tela) para salvar o conteúdo atual da janela e seu buffer de rolagem nohardcopy.#
arquivo:fonte