Reproducir un archivo de registro de pantalla de forma incremental

Reproducir un archivo de registro de pantalla de forma incremental

Ejecuté algunos comandos en la pantalla gnu y usé el C-a Hcomando para registrar la salida en un screenlog.0archivo. Sin embargo, ahora quiero verlo. Hay un montón de secuencias de escape de terminal, por lo que con solo catpulsarlo me mostrará todo de una vez.

Sé que no hay información de tiempo en este archivo, y eso está bien. Pero, ¿es posible responder de alguna manera incremental al archivo? ¿Un personaje/secuencia de escape a la vez? ¿Existe algún comando que tome un archivo como este y solo "imprima" cada carácter/secuencia de escape uno a la vez mientras presiono los botones/me permite avanzar?

ACTUALIZAR: Si uso lesso more, puedo ver el archivo y ver cosas, pero eso me muestra el contenido sin procesar, incluidos los códigos de control. Si ingresé un comando a medias y presioné tab, muestra la tecla de tabulación. Entonces no puedo copiar/pegar

Respuesta1

Podrías usar un buscapersonas como lesso more:

less screenlog.0

O

more screenlog.0

No estoy seguro de qué códigos de escape de terminal tiene, pero si no se muestran correctamente, utilice

less -R screenlog.0

Respuesta2

Aquí hay un script POC Bash simple para reproducir, screenlog.0mientras que se puede cambiar la velocidad de reproducción presionando 0, 1, ... 9donde 0 significa velocidad máxima. Presione spacepara pausar/reanudar.

exec 6< screenlog.0
sleep=2 # initial speed where 2 means 0.2s pauses between "lines"
while read -r line <&6 ; do
  printf '%b\n' "$line"
  read -s -N 1 -t .$sleep
  case "$REPLY" in [0-9]) sleep="$REPLY";; " ") read -s -d " ";; esac
done

información relacionada