Я пытаюсь использовать команду script для записи интерактивного сеанса оболочки, чтобы я мог использовать ее для подготовки документации .
согласно странице руководства:
Скрипт помещает все в файл журнала, включая перевод строки и
Backspaces. Это не то, чего ожидает наивный пользователь.
Я наивный пользователь (обычно меня не кричат на страницах руководства, это довольно интересно!), И я хотел бы обработать вывод таким образом, чтобы переводы строки, удаленные символы и т. д. удаляются.
пример, я запускаю сеанс скрипт :
stew:~> script -f scriptsession.log
Script started, file is scriptsession.log
stew:~> date
Mon Aug 22 15:00:37 EDT 2011
stew:~> #extra chars: that
stew:~> exit
exit
Script done, file is scriptsession.log
затем использую cat для чтения журнала сеанса:
stew:~> cat scriptsession.log
Script started on Mon 22 Aug 2011 03:00:35 PM EDT
stew:~> date
Mon Aug 22 15:00:37 EDT 2011
stew:~> #extra chars: that
stew:~> exit
exit
Script done on Mon 22 Aug 2011 03:01:01 PM EDT
но когда я использую less , я вижу доказательства нежелательных символов, которые невидимы с помощью cat :
stew:~> less scriptsession.log
Script started on Mon 22 Aug 2011 03:00:35 PM EDT
stew:~> date
Mon Aug 22 15:00:37 EDT 2011
stew:~> #extra chars: thiESC[ESC[ESC[ESC[Kthat
stew:~> exit
exit
Script done on Mon 22 Aug 2011 03:01:01 PM EDT
scriptsession.log lines 1-8/8 (END)
когда я использую cat , я понимаю, что это не так » t удалить невидимые символы, он просто не представляет их визуально, как это делает less - поэтому, если я передаю вывод cat в файл, он все равно будет содержать нежелательные символы.
формат вывода, который мне нужен, является копией того, что отображает cat . спасибо!
(извиняюсь, если это дубликат, поиск "формат вывода сценария unix" возвращает много шумных результатов в отношении рассматриваемого вопроса!)