사용자 입력 시 줄 편집(스크립트 명령) 실행

사용자 입력 시 줄 편집(스크립트 명령) 실행

이 프로그램을 사용하여 script대화형 세션을 녹음했습니다 .

$ script
$ echo<-<-<-<-printf "hello\n"
$ exit

이 시퀀스는 <-백스페이스 문자를 나타냅니다.

나는 다음을 출력으로 원합니다 :

$ printf "hello\n"
$ exit

그러나 실제 결과에는 모든 개별 키 입력( find 포함 cat --show-nonprinting)이 포함됩니다.

command 를 사용하여 한 줄씩 읽어 보았습니다 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

관련 정보