
Я выполнил несколько команд в gnu screen и использовал C-a H
команду для записи вывода в screenlog.0
файл. Однако теперь я хочу просмотреть его. Существует множество последовательностей экранирования терминала, поэтому просто cat
-ing покажет мне все сразу.
Я знаю, что в этом файле нет информации о времени, и это нормально. Но возможно ли как-то пошагово ответить на файл? По одному символу/последовательности Escape за раз? Есть ли какая-нибудь команда, которая возьмет такой файл и будет только "печатать" каждый символ/последовательность Escape по одному за раз, пока я нажимаю кнопки/позволяет мне сделать шаг вперед?
ОБНОВЛЯТЬ: Если я использую less
или more
, я могу видеть файл и видеть вещи, но это показывает мне сырое содержимое, включая управляющие коды. Если я наполовину ввел команду и нажал tab, он показывает клавишу табуляции. Поэтому я не могу копировать/вставить
решение1
Вы можете использовать пейджер, например, less
или more
:
less screenlog.0
Или
more screenlog.0
Не уверен, какие у вас коды выхода из терминала, но если они отображаются неправильно, используйте
less -R screenlog.0
решение2
Вот простой скрипт POC Bash для воспроизведения, screenlog.0
при этом можно изменить скорость воспроизведения, нажав 0, 1, ... 9, где 0 означает полную скорость. Нажмите spaceдля паузы/возобновления.
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