Ich versuche, das script Befehl zu verwenden, um eine interaktive Shell-Sitzung aufzuzeichnen, damit ich sie zur Vorbereitung von Dokumentationen verwenden kann.
Laut der Man-Seite:
Script platziert alles in der Protokolldatei, einschließlich Zeilenumbrüche und
Rückstellungen. Das ist nicht das, was der unerfahrene Benutzer erwartet.
Ich bin der unerfahrene Benutzer (bekomme normalerweise keinen Hinweis in Handbüchern, das ist ziemlich aufregend!), und ich möchte die Ausgabe verarbeiten, damit Rückstellungen, Zeilenumbrüche und gelöschte Zeichen usw. entfernt werden.
Beispiel, ich führe eine script Sitzung aus:
stew:~> script -f scriptsession.log
Script gestartet, Datei ist scriptsession.log
stew:~> date
Mon Aug 22 15:00:37 EDT 2011
stew:~> #extra chars: that
stew:~> exit
exit
Script beendet, Datei ist scriptsession.log
dann benutze ich cat, um das Sitzungsprotokoll zu lesen:
stew:~> cat scriptsession.log
Script gestartet am 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 beendet am Mon 22 Aug 2011 03:01:01 PM EDT
aber wenn ich less benutze, sehe ich Beweise für die unerwünschten Zeichen, die mit cat unsichtbar sind:
stew:~> less scriptsession.log
Script gestartet am 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 beendet am Mon 22 Aug 2011 03:01:01 PM EDT
scriptsession.log Zeilen 1-8/8 (ENDE)
Wenn ich cat benutze, verstehe ich, dass es die unsichtbaren Zeichen nicht entfernt, es stellt sie einfach nicht sichtbar dar, wie es less tut - also, wenn ich die Ausgabe von cat in eine Datei umleite, enthält sie immer noch die unerwünschten Zeichen.
Das Ausgabeformat, das ich möchte, ist eine Kopie dessen, was cat anzeigt. Danke!
(Entschuldigung, wenn dies ein Duplikat ist, die Suche nach "Unix-Skript-Ausgabeformat" liefert viele falsche Ergebnisse in Bezug auf die vorliegende Frage!)