我用該script
程式記錄了一個互動式會話:
$ script
$ echo<-<-<-<-printf "hello\n"
$ exit
此序列<-
代表退格字元。
我想要以下內容作為輸出:
$ printf "hello\n"
$ exit
但實際結果包含所有單獨的擊鍵(以 尋找cat --show-nonprinting
)。
我嘗試使用命令逐行閱讀read
。它確實編輯了退格鍵,但它也刪除了命令提示符,並且似乎它轉換\n
為n
.
我正在尋找一種方法來讓用戶在螢幕上看到文字(命令提示字元、編輯的輸入和命令輸出——顏色並不重要)。
作為參考範例輸出:
^[[?2004l^M^[[?2004h$ echo^H^[[K^H^[[K^H^[[K^H^[[Kprintf "hello\n"^M
^[[?2004l^Mhello^M
^[[?2004h$ exit^M
^[[?2004l^Mexit^M
答案1
國際大學學院,ANSI2txt將會完全按照您的意願行事:
$ ansi2txt typescript > ANSI2TXT
$ cat ANSI2TXT
$ printf "hello\n"
hello
$ exit
Script done on Wed 15 Apr 2020 07:48:55 PM CEST