Wenn du in der Bash Text an eine Datei anhängen möchtest, stehen dir verschiedene Möglichkeiten zur Verfügung. Im Folgenden werden einige davon erläutert.
Um Text an eine Datei anzuhängen, benötigst du Schreibrechte für die betreffende Datei. Andernfalls erhältst du eine Fehlermeldung, die besagt, dass die Berechtigung verweigert wurde.
Anhängen an eine Datei mit dem Redirection Operator (>>
)
Mithilfe der Umleitung kannst du die Ausgabe eines Befehls erfassen und als Eingabe an einen anderen Befehl oder eine Datei senden. Der >>
Umleitungsoperator fügt die Ausgabe am Ende einer bestimmten Datei an.
Es gibt verschiedene Befehle, mit denen du Text auf der Standardausgabe ausgeben und in eine Datei umleiten kannst. Die häufigsten davon sind echo
und printf
.
Um Text an eine Datei anzuhängen, gibst du den Namen der Datei nach dem Umleitungsoperator an:
echo "Dies ist eine neue Zeile" >> datei.txt
Wenn du den -e
Schalter mit dem echo
Befehl verwendest, werden rückwärtsgeschriebene Zeichen wie der Zeilenumbruch \n
interpretiert:
echo -e "Dies ist eine neue Zeile\nDas ist eine weitere neue Zeile" >> datei.txt
Für komplexere Ausgaben kannst du den printf
Befehl nutzen, mit dem du die Formatierung der Ausgabe festlegen kannst:
printf "Hallo, ich bin %s.\n" $USER >> datei.txt
Eine weitere Möglichkeit, Text an eine Datei anzuhängen, besteht in der Verwendung des Here-Documents (Heredoc). Diese Art der Umleitung ermöglicht es dir, mehrere Eingabezeilen an einen Befehl zu übergeben.
Beispielsweise kannst du den Inhalt an den cat
Befehl übergeben und an eine Datei anhängen:
cat << EOF >> datei.txt
Das aktuelle Arbeitsverzeichnis ist: $PWD
Du bist eingeloggt als: $(whoami)
EOF
Du kannst die Ausgabe eines beliebigen Befehls an eine Datei anhängen. Hier ist ein Beispiel mit dem Datum
Befehl:
date +"Jahr: %Y, Monat: %m, Tag: %d" >> datei.txt
Beim Anhängen an eine Datei mit einer Umleitung solltest du darauf achten, dass du mit dem >>
Operator keine wichtige bestehende Datei überschreibst.
Anhängen an eine Datei mit dem Befehl tee
tee
ist ein Kommandozeilenprogramm in Linux, das von der Standardeingabe liest und gleichzeitig in die Standardausgabe und eine oder mehrere Dateien schreibt.
Standardmäßig überschreibt der tee
Befehl die angegebene Datei. Um die Ausgabe an die Datei anzuhängen, verwende tee
mit der Option -a
(--append
):
echo "Dies ist eine neue Zeile" | tee -a datei.txt
Wenn du nicht möchtest, dass tee
auf die Standardausgabe schreibt, leite es nach /dev/null
um:
echo "Dies ist eine neue Zeile" | tee -a datei.txt /dev/null
Der Vorteil des tee
Befehls gegenüber dem >>
Operator ist, dass du mit tee
Text an mehrere Dateien gleichzeitig anhängen und in Verbindung mit sudo
in Dateien schreiben kannst, die anderen Benutzern gehören.
Um Text an eine Datei anzuhängen, für die du keine Schreibrechte hast, füge sudo
vor tee
ein, wie unten gezeigt:
echo "Dies ist eine neue Zeile" | sudo tee -a datei.txt
tee
empfängt die Ausgabe des echo
Befehls, erhöht die sudo-Rechte und schreibt in die Datei.
Um Text an mehr als eine Datei anzuhängen, gibst du die Dateien als Argumente für den tee
Befehl an:
echo "Dies ist eine neue Zeile" | tee -a Datei1.txt Datei2.txt Datei3.txt
Abschluss
Unter Linux kannst du Text an eine Datei anhängen, indem du entweder den >>
Umleitungsoperator oder den tee
Befehl verwendest.
Wenn du Fragen oder Feedback hast, hinterlasse gerne einen Kommentar.