script(1)
- инструмент для ведения записи сеанса интерактивного терминала; по умолчанию записывает в файл transcript
. Моя проблема в том, что я использую ksh93
, который имеет функции readline, и поэтому транскрипт перепутан со всеми видами escape-последовательностей терминала, и может быть очень трудно восстановить команду, которая была фактически выполнена. Не говоря уже о беспризорных ^M
и т. П.
Я ищу инструмент, который прочитает файл расшифровки, написанный script
, удалит весь мусор и восстановит то, что оболочка думала, что он выполняет, поэтому у меня есть что-то, что показывает $PS1
и команды на самом деле казнены. В противном случае я ищу предложения о том, как написать такой инструмент, в идеале, используя знания из базы данных terminfo, или не получится, просто используя escape-последовательности ANSI.
Чит, который выглядит в истории оболочки, до тех пор, пока он действительно работает, также будет приемлемым.