translate perl script removing control characters in script(1) output to sed

Viewed 1212

I'm recording terminal sessions using the script command. Unfortunately the typescript output file contains many control-characters - for example from pressing the full screen command (F11) when in the vim editor or try it below.

script -f -t 2>${LOGNAME}-$(/bin/date +%Y%m%d-%H%M%S).time -a ${LOGNAME}-$(/bin/date +%Y%m%d-%H%M%S).session
vi abc.log
#write something and save
#:x to quit vi
ctrl + d to quit script

The script output hostname-datetime.session contais too many vi control-characters.

I found a perl script in commandlinefu, which can remove these control characters from the typescript. I am actually doing this replacement in C, and the program runs on a chroot envrioment, where the perl is not avaliable.

Question: Is there a a way to translate the following perl command to sed ?

cat typescript | perl -pe 's/\e([^\[\]]|\[.*?[a-zA-Z]|\].*?\a)//g' | col -b > typescript-processed
2 Answers
Related