[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Terminalemulation mit Ausgabe als plain-text


On Thu, Aug 28, 2008 at 12:42:21AM +0200, Raphael Becker wrote:
> Ich suche einen Filter, der ueber stdin das Logfile einer script-Session 
> (z.B. xterm-color) einliest und per stdout ein "flaches" Textfile auswirft, 
> das das "Ergebnis" aller Cursor-Movements, etwa das "Schlussbild" eines vi 
> nach dem Beenden darstellt?
Nettes kleines Problem.  Ich dachte zunaechst, vte koennte ein guter
Ansatzpunkt sein, aber das mitgelieferte interpret wirft auf etch
einen assertion error, und ich hatte keine Lust, mir das weiter
anzusehen.

Enter screen.  Hier habe ich erstmal ein screen-script der Art

screen sh -c "cat screenlog.0"
hardcopy dump.txt

probiert, aber das klappt nicht, weil das Fenster schon zu ist, wenn
der hardcopy zuschlaegt (oder aus einem vergleichbaren Grund --
dump.txt ist jedenfalls leer).

*Eine* Loesung ist jedenfalls 

tmpname=`mktemp`;screen sh -c "cat screenlog.0 && screen -X hardcopy $tmpname" && cat $tmpname && rm -f $tmpname

Sie hat den einen Nachteil, dass der innere screen sein Kommando im
Prinzip wohl auch an irgendeinen anderen screen schicken koennte als
den, in dem er gestartet wurde.  Wahrscheinlich gibts dafuer eine
Loesung, aber vielleicht kann man das Kommando ja einfach irgendwo
laufen lassen, wo sonst keine screens unterwegs sind :-)

          Markus
--
http://mailman.uugrn.org/mailman/listinfo/uugrn
Wiki: http://wiki.uugrn.org/wiki/UUGRN:Mailingliste
Archiv: http://lists.uugrn.org/