Регистрация входных и выходных данных без захвата всех введенных символов ввода и управления

Я пытаюсь зарегистрировать вывод из интерактивной программы командной строки; units , в частности.

Я пробовал использовать tee вот так:

 units | tee units.log 

или скрипт следующим образом:

 script -c units units.log 

но они оба регистрируют все обратные пространства и завершение вкладок в качестве специальных символов:

 You have: 55 horsepower ^G/^H^[[K^M You want: wat^Gt ^M * 41013.493^M / 2.438222e-05^M 

В manpage для script упоминается эта проблема.

 BUGS Script places everything in the log file, including linefeeds and backspaces. This is not what the naive user expects. 

Я знаю об обходе с просмотром файла, используя cat и more или для удаления escape-символов с col как указано здесь:

https://stackoverflow.com/questions/7152339/format-output-from-unix-script-command-remove-backspaces-linefeeds-and-delet

Как и скрипт perl:

http://log.guidoderosa.net/2009/05/another-old-post-which-may-be-useful.html

Но я особо не хочу исправлять существующий файл журнала: я хочу, чтобы не создавать новые файлы журналов, искаженные удаленными вводами и управляющими символами.

Мне показалось, что я исправил проблему с помощью rlwrap , но он конфликтует с функциональными возможностями readline, так что он либо не может захватить вывод, либо с помощью rlwrap -a он захватывает вывод, но отрицает способность units использовать табуляцию. rlwrap -a -N не помогает. Это хорошо документировано на странице руководства:

 BUGS and LIMITATIONS Though it is flexible, delivers the goods (readline functionality), and adheres to the Unix "many small tools" paradigm, rlwrap is a kludge. It cannot know anything about command's internal state, which makes context-sensitive completion impossible. Using the readline library from within command is still the best option. 

Есть ли способ очистить логический входной и выходной данные, которые не связаны с существующими функциями readline ?

Обновление: я был бы доволен чем-то вроде

 units | col -b | tee units.log 

но это зависает, ожидая интерактивного ввода. Можно ли это исправить?

Linux и Unix - лучшая ОС в мире.