wake-up-neo.net

Kopieren GNU screen scrollback buffer to file (erweiterte Hardcopy)?

Wie kopiere ich einfach den GNU screen scrollback buffer in eine Datei? IE, eine leistungsfähigere Version des Befehls 'hardcopy'?

In GNU screen kann ich "ctrl-aESC"um den scrollback-puffer einzugeben. ich könnte dann den gesamten puffer markieren und verwenden"ctrl-actrl-]msgstr "" "es in einen Emacs - Puffer einfügen und in einer Datei speichern.

Dies ist jedoch mühsam. Gibt es einen Bildschirmbefehl, der einfach den Scrollback-Puffer in eine Datei kopiert, wie dies bei 'Hardcopy' für den sichtbaren Teil des Bildschirms der Fall ist?

168
barrycarter

Geben Sie Folgendes ein, um den gesamten Inhalt des Bildlaufpuffers in eine Datei zu schreiben

Ctrl + A und : um in den Befehlsmodus zu gelangen

hardcopy -h <filename>

In älteren Versionen von screen, wenn Sie nur hardcopy -h, es schreibt nur in die Datei -h. Dies wurde in Version 4.2.0 behoben, also hardcopy -h schreibt an hardcopy.N wobei N die aktuelle Fensternummer ist.

261
Bill

Drücken Sie Ctrl+A : bufferfile /tmp/somefile.txt ENTER, und dann Ctrl+A>

Dadurch wird der aktuelle Inhalt des Puffers in die angegebene Datei geschrieben.

24
Roshan

TL; DR: ^A:writebuf <filename>

OP scheint eine Möglichkeit zu wollen, den ausgewählten Teil des Puffers zu verwenden, den Sie erhalten, wenn Sie ein ^ A [ausführen, Text mit Leerzeichen als Anfang und Ende auswählen und dann statt ^ A] zum Einfügen den resultierenden ausgewählten Teil des Puffers speichern in eine Datei puffern.

Ich weiß, es ist Jahre her, dass dies gepostet wurde, aber ich suchte nach einer Antwort auf dieselbe Frage und fand schließlich:

^A:writebuf <filename>

hinweis: ein 'f' in writebuf

9
Kevin Mullet

versuchen hardcopy -h, um den gesamten Puffer einzuschließen

6
Jorge Gutierrez

Das hat bei mir geklappt: Editiermodus aufrufen (~): dann tippe:

:hardcopy -h buff_file

Es wurde eine riesige Datei erstellt, von der 98% leer waren, aber meine Protokolle in den verbleibenden 2% vollständig vorhanden waren.

3
freeninza