我用该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