
Ich weiß, wie man die Ausgabe eines Terminals in eine Datei umleitet. Wenn ich beispielsweise alle Dateien in ~/Documents auflisten und in eine Datei namens test.txt ausgeben möchte, würde ich Folgendes tun:
ls ~/Documents > test.txt
Die Frage ist, kann ich die Ausgabe in test.txt kopieren, NACHDEM ich den Befehl ausgeführt habe? Das würde bedeuten, dass ich nicht im Voraus wissen müsste, ob ich die Ausgabe in eine Datei kopieren möchte. Ich möchte so etwas tun:
ls ~/Documents
Dann das:
<bash command for copying standard output to test.txt>
Ich bin für jede Hilfe dankbar.
Antwort1
Sie könnten verwenden tee
, aber das ist nicht unbedingt der Fall, nachdem Sie den vorherigen Befehl ausgeführt haben.
ls ~/Documents | tee test.txt
Schreibt die Ausgabe normal in Ihre Befehlszeilen-Sitzung und auch in test.txt.
Wenn Sie GNU verwenden screen
, gibt es alternativ Befehle zum Bewegen im Scrollback-Puffer und zum Kopieren/Einfügen. Weitere Informationen finden Sie unterdiese Superuser-Frage.
Antwort2
Sie können Ihre Shell-Sitzung in einem Emacs-Fenster starten und dann einfach kopieren und einfügen
(Sie können auch einen Befehl innerhalb von vi eingeben und die Ausgabe im aktuellen vi-Puffer zusammenstellen),
oder Sie können aus Ihrem xterm-Fenster kopieren und einfügen,
oder Sie können Ihre Shell-Sitzung mit script(1) ausführen und später die Sitzungsausgabe bearbeiten,
oder Sie können Ihren Befehl einfach wiederholen.
Ich hoffe das hilft, Klaus