Ist es möglich, die ESC-Sequenzen in der Ausgabedatei von GNU Screen zu entfernen? Dinge wie Farben, Tabulatoren und andere Escape-Zeichen gelangen in die Protokolldateien und sind schwer zu entschlüsseln.
Ich habe Dr. Google & Co. ausprobiert und das Handbuch gelesen, konnte aber nichts Passendes finden ...
Vielleicht habe ich etwas übersehen?
linux
terminal
gnu-screen
shaond
quelle
quelle
Verwenden Sie einen Ansifilter.
quelle
brew install ansifilter
und es hat wie ein Zauber funktioniert.Versuchen Sie auch die Option -r oder -R von weniger.
quelle
Sobald Sie Ihre Sitzung in screenlog.n erfasst haben, können Sie die Datei auf das Terminal übertragen und dann mit dem Hardcopy-Befehl des Bildschirms die Ausgabe der Katze in eine Datei kopieren. Das Ergebnis liefert Ihnen eine saubere Ausgabe ohne Escape-Sequenzen.
Das einzige Problem besteht darin, sicherzustellen, dass die Hardcopy alles im Scrollback-Puffer erfasst und dass der Scrollback-Puffer nur das enthält, was Sie erfassen möchten.
Beachten Sie, dass -h sicherstellt, dass Sie den gesamten Scrollback-Verlauf erfassen und nicht nur das, was sofort angezeigt wird
Die Datei screenlog.n.cleaned enthält jetzt eine Hardcopy der Cat-Ausgabe und keine Escape-Sequenzen
quelle
wc -l
hat bei mir nicht funktioniert. Es gab 28226 zurück, brauchte aber in meinem Fall wirklich 33031.Ich benutze den
strings
Befehl, um ein Bildschirmprotokoll lesbar zu machen. Unter Debian ist es Teil des binutils-Pakets.Wie die Manpage sagt:
quelle
Wenn Sie
screen
Benutzer sind, funktioniert die von Joel Verks 'Beitrag vorgeschlagene Bildschirm-Hardcopy- Lösung am besten - vorausgesetzt, Sie haben einen großen Scrollback definiert in :.screenrc
dann würden Sie tun:
Zeigen Sie Ihre
screenlog
Datei an:Verwenden Sie
hardcopy -h
(siehe Bildschirmmanpage), um den aktuellen Fensterinhalt und seinen Scrollback-Puffer in derhardcopy.#
Datei zu speichern:quelle