Hier ist meine Situation: Ich öffne das Terminal und starte ein Programm, das den Live-Feed im Terminal (Text) anzeigt, der sich jede Sekunde ändert. Während dieses Programms kann nur die Eingabetaste verwendet werden (das Programm wird beendet). Sie können also nichts anderes in die Konsole eingeben.
Ich möchte diesen Terminalinhalt wie nach jeder Sekunde in eine Datei schreiben.
Wie mache ich es? Indem Sie die 2. Konsole öffnen und einen Befehl verwenden? Mit dem Befehl setterm -dump funktioniert es nicht.
command-line
Gustav
quelle
quelle
Antworten:
Sie können Ihre Ausgabe an das
tee
Programm weiterleiten ( Beschreibung ):Dadurch wird die Ausgabe auf dem Terminal angezeigt, aber auch in die Datei geschrieben
my_program.log
quelle
bzr branch lp:live-f1
und habe dann im nachgesehenREADME
). Können Sie das Programm ohne Farben ausführen, indem SieTERM
dumb (export TERM=dumb
) einstellen ? Die Quelle enthält auch eineTODO
Datei, die auf der Wunschliste vermerkt ist, um einen Verlauf der Treiber zu speichern. Vielleicht können Sie sich an die Entwickler wenden, um zu erfahren, was sie planen, oder um zu erfahren, wie Sie Ergebnisse speichern können.Wenn Sie Ihren Befehl vom Terminal aus ausführen, anstatt die Ausgabe auf Ihrer Konsole zu sehen, können Sie ihn direkt in eine Datei umleiten. Während das Programm läuft, wird die Ausgabe in die Datei geschrieben. In einem Beispiel möchten Sie den Inhalt Ihres Ordners mit einem ls-Befehl in eine Datei namens list.txt schreiben
Der
>
Operator leitet Ihre Ausgabe entsprechend Ihren Anforderungen um.quelle
Versuchen Sie es mit dem
script
Befehl. Leider enthält das Transkript eine Menge Steuerzeichen-Gobbledegooks. Wenn Sie diesen Link jedoch auf der NCSSM CS-Site sehen , finden Sie eine unvollständige, aber ziemlich gute Lösung für das Problem.quelle