Wie man Text mit Bash an eine Datei anhängt
-
Text mit dem Umleitungsoperator
>>
an eine Datei anhängen -
Text mit dem
tee
-Befehl an eine Datei anhängen
Wir können Text mit dem Umleitungsoperator (>>
) und dem Befehl tee
an eine Datei anhängen.
Wir müssen sicherstellen, dass wir genügend Berechtigungen haben, um Text an die Datei anzufügen. Wenn wir nicht genügend Berechtigungen haben, erhalten wir möglicherweise den Fehler permission denied error
.
Text mit dem Umleitungsoperator >>
an eine Datei anhängen
Der Umleitungsoperator >>
holt die Ausgabe von den bash
-Befehlen und hängt die Ausgabe an eine andere Datei an. Es gibt viele Möglichkeiten, den Text auf die Standardausgabe zu drucken, wobei echo
und printf
die beliebtesten Befehle sind.
Um den Text an eine Datei anzuhängen, schreiben wir einen Befehl zum Drucken des Textes mit einem der Ausgabebefehle und hängen dann den Operator >>
an den Befehl an, gefolgt vom Namen der Datei, in die der Text eingefügt werden soll.
echo "Hello World" >> abc.txt
Dadurch wird der Text Hello World
am Ende der Datei abc.txt
hinzugefügt.
Wenn die Datei im aktuellen Arbeitsverzeichnis nicht existiert, erzeugt der Befehl eine leere Datei und schreibt den Text Hello World
in die Datei.
Um die Escape-Sequenz-Zeichen wie \n
zu interpretieren, verwenden wir die Option -e
mit dem Befehl echo
.
echo -e "Hello World! \nThis is DelftStack" >> abc.txt
Dadurch wird der Text angehängt
Hello World!
This is DelftStack
in die Datei abc.txt
.
Um zu überprüfen, ob der Text angehängt wurde oder nicht, können wir den cat
-Befehl verwenden, um den Inhalt der Datei anzusehen.
cat abc.txt
Ausgabe:
Hello World!
This is DelftStack
Wenn der Text angehängt wurde, k?nnen wir den Text am Ende der Datei sehen.
Wenn wir mehr formatierten Text wünschen, können wir den Befehl printf
verwenden, um mehr formatierte Ausgabe zu erzeugen.
printf "The path of shell interpreter is %s\n" $SHELL >> abc.txt
Er fügt den Text The path of shell interpreter is /bin/bash
der Datei abc.txt
hinzu.
Text mit dem tee
-Befehl an eine Datei anhängen
tee
ist ein Kommandozeilen-Dienstprogramm, das Eingaben von der Standardeingabe entgegennimmt und sie gleichzeitig in eine oder mehrere Dateien und die Standardausgabe schreibt.
Standardmäßig überschreibt der Befehl tee
den Inhalt der Dateien. Um den Text einfach an das Ende der Datei anzuhängen, verwenden wir die Option -a
oder --append
mit dem Befehl.
echo "Hello World!" | tee -a abc.txt
Ausgabe:
Hello World!
Es hängt Hello World!
an die Datei abc.txt
an und schreibt den Text auch in die Standardausgabe im Terminal.
Wenn wir beim Anhängen von Text an eine Datei denied permission denied error erhalten, können wir das Schlüsselwort sudo
vor dem Befehl tee
einfügen.
echo "Hello World!" | sudo tee -a abc.txt
Wenn wir die Standardausgabe nicht sehen wollen, können wir die Ausgabe nach /dev/null
umleiten.
echo "Hello World!" | tee -a abc.txt >/dev/null
Ein Vorteil der Verwendung des Befehls tee
ist, dass wir den Text mit dem Befehl tee
in mehrere Dateien gleichzeitig schreiben können. Um den Text in mehrere Dateien zu schreiben, können wir einfach alle Dateien durch ein Leerzeichen getrennt auflisten.
echo "Hello World!" | sudo tee -a abc.txt backup.txt
Dadurch wird der Text gleichzeitig an die beiden Dateien abc.txt
und backup.txt
angehängt.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn