![](https://m.unixlinux.online/article/uploadfiles/202204/2022042611352397.jpg)
In Bash gibt es mehrere Möglichkeiten, Text an eine Datei anzuhängen. Dieser Artikel erklärt einige davon.
Um Text an eine Datei anzuhängen, benötigen Sie Schreibrechte dafür. Andernfalls erhalten Sie eine Fehlermeldung zur Verweigerung der Berechtigung.
Mit dem Umleitungsoperator an eine Datei anhängen (>>
) #
Mit der Umleitung können Sie die Ausgabe eines Befehls erfassen und als Eingabe an einen anderen Befehl oder eine andere Datei senden. Der >>
Der Umleitungsoperator hängt die Ausgabe an eine bestimmte Datei an.
Es gibt eine Reihe von Befehlen, mit denen Sie Text auf der Standardausgabe ausgeben und mit echo
in die Datei umleiten können und printf
die am häufigsten verwendeten sind.
Um Text an eine Datei anzuhängen, geben Sie den Namen der Datei nach dem Umleitungsoperator an:
echo "this is a new line" >> file.txt
Bei Verwendung mit dem -e
Option echo
Der Befehl interpretiert die mit Backslash maskierten Zeichen wie Newline \n
:
echo -e "this is a new line \nthis is another new line" >> file.txt
Um eine komplexere Ausgabe zu erzeugen, verwenden Sie printf
Befehl, mit dem Sie die Formatierung der Ausgabe festlegen können:
printf "Hello, I'm %s.\n" $USER >> file.txt
Eine andere Möglichkeit, Text an eine Datei anzuhängen, ist die Verwendung des Here-Dokuments (Heredoc). Es ist eine Art Umleitung, mit der Sie mehrere Eingabezeilen an einen Befehl übergeben können.
Beispielsweise können Sie den Inhalt an cat
übergeben Befehl und an eine Datei anhängen:
cat << EOF >> file.txt
The current working directory is: $PWD
You are logged in as: $(whoami)
EOF
Sie können die Ausgabe jedes Befehls an eine Datei anhängen. Hier ist ein Beispiel mit dem date
Befehl:
date +"Year: %Y, Month: %m, Day: %d" >> file.txt
Achten Sie beim Anhängen an eine Datei mithilfe einer Umleitung darauf, nicht >
zu verwenden Operator, um eine wichtige vorhandene Datei zu überschreiben.
Mit dem tee
an eine Datei anhängen Befehl #
tee
ist ein Befehlszeilendienstprogramm in Linux, das von der Standardeingabe liest und gleichzeitig sowohl in die Standardausgabe als auch in eine oder mehrere Dateien schreibt.
Standardmäßig das tee
Befehl überschreibt die angegebene Datei. Um die Ausgabe an die Datei anzuhängen, verwenden Sie tee
mit dem -a
(--append
) Option:
echo "this is a new line" | tee -a file.txt
Wenn Sie kein tee
möchten Um in die Standardausgabe zu schreiben, leiten Sie sie nach /dev/null
um :
echo "this is a new line" | tee -a file.txt >/dev/null
Der Vorteil der Verwendung des tee
Befehl über >>
Betreiber ist das tee
ermöglicht es Ihnen, Text an mehrere Dateien gleichzeitig anzuhängen und in Verbindung mit sudo
in Dateien zu schreiben, die anderen Benutzern gehören .
Um Text an eine Datei anzuhängen, für die Sie keine Schreibberechtigung haben, stellen Sie sudo
voran vor tee
wie unten gezeigt:
echo "this is a new line" | sudo tee -a file.txt
tee
erhält die Ausgabe von echo
Befehl, erhöht die sudo-Berechtigungen und schreibt in die Datei.
Um Text an mehr als eine Datei anzuhängen, geben Sie die Dateien als Argumente für tee
an Befehl:
echo "this is a new line" | tee -a file1.txt file2.txt file3.txt
Schlussfolgerung #
Um unter Linux Text an eine Datei anzuhängen, verwenden Sie >>
Umleitungsoperator oder das tee
Befehl.
Wenn Sie Fragen oder Feedback haben, können Sie gerne einen Kommentar hinterlassen.