1. Startseite
  2. Bash Skript
  3. Text an eine Datei in Bash anhängen

Text an eine Datei in Bash anhängen

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.

War dieser Beitrag hilfreich?

Verwandte Beiträge