Wie hängt man die Ausgabe an eine Datei an?


125

Wie kann ich so etwas tun command > file, dass es an die Datei angehängt wird, anstatt es zu überschreiben?


1
(Es gibt viele, viele - vielleicht viel zu viele! - Extras im Bash-Referenzhandbuch, einschließlich aller Arten von Weiterleitungen. Passen Sie sie nach Bedarf für die Shell an.)

4
Sie können auch tee verwenden, wenn Sie sowohl zu STDOUT umleiten als auch Ergebnisse an eine Datei anhängen möchten. Zum Beispiel: Echo "Hallo" | tee -a somefile.txt, wobei das Flag -a für Anhängen steht.
Henrik

Antworten:



103

Ja.

command >> filenur stdout von umleiten command.

command >> file 2>&1um stdout und stderr in die Datei umzuleiten (funktioniert in bash, zsh)

Und wenn Sie verwenden müssen sudo, denken Sie daran

sudo command >> /file/requiring/sudo/privilegesfunktioniert nicht, da die Erhöhung der Berechtigungen für den commandTeil der Shell-Umleitung gilt, dieser jedoch nicht. Die einfache Verwendung teelöst jedoch das Problem:

command | sudo tee -a /file/requiring/sudo/privileges


6
Ich benutze dies für alle Ausgabeerfassungsprogramme.sh 2> & 1 | tee -a screen.log. "-a" steht für anhängen.
Xdg

-3

Sie können die Datei mit dem Zeichen >> anhängen. Es fügt den Inhalt am letzten der Datei ein, die wir verwenden. Wenn die Datei den Namen myfile lautet, enthält sie xyz, dann cat >> myfile abc ctrl d

Nach dem obigen Vorgang enthält die myfile xyzabc.


4
Der >>Betreiber wurde bereits vor drei Jahren erwähnt, und das OP weiß, was Anhängen bedeutet.
Dan Dascalescu
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.