增量重播螢幕日誌文件

增量重播螢幕日誌文件

我在 gnu screen 中運行了一些命令,並使用該C-a H命令將輸出記錄到screenlog.0檔案中。不過現在我想看看。有大量的終端轉義序列,因此只需cat-ing 即可立即顯示所有內容。

我知道這個文件中沒有時間信息,這很好。但是否有可能以某種方式增量地回覆文件?一次一個字元/轉義序列?是否有任何命令可以獲取這樣的文件,並且在我按下按鈕/允許我前進時一次只“打印”一個字符/轉義序列?

更新:如果我使用lessmore,我可以查看文件並查看內容,但這會顯示原始內容,包括控製程式碼。如果我輸入了一半命令並按下tab,它會顯示 tab 鍵。所以我無法複製/貼上

答案1

less您可以使用類似或 的尋呼機more

less screenlog.0

或者

more screenlog.0

不確定您有什麼終端轉義碼,但如果它們未正確顯示,請使用

less -R screenlog.0

答案2

這是一個簡單的 POC Bash 腳本來重播,同時可以透過按, , ...screenlog.0來更改重播速度,其中 0 表示全速。按下可暫停/恢復。019space

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

相關內容