Schreiben Sie in eine Datei in Bash
In diesem Tutorial werden wir verschiedene Ansätze zum Schreiben von Dateien in Bash untersuchen. Je nach Anforderung kann eine Datei angehängt oder überschrieben werden. Mal sehen, wie wir es tun können.
Verschiedene Möglichkeiten zum Schreiben/Überschreiben einer Datei in Bash
Wir werden mehrere Operatoren wie >
und >>
sehen, um Ausgaben zu überschreiben und an die Dateien anzuhängen. Darüber hinaus werden wir den Befehl tee
zum Überschreiben und Anhängen einzelner und mehrerer Dateien untersuchen.
Verwenden Sie den Operator >
, um eine Datei zu überschreiben
Der Operator >
wird verwendet, um die Datei zu überschreiben. Beispielsweise wird der folgende Code verwendet, um eine Datei zu überschreiben.
echo "Overwriting in the file" > test.txt
Der obige Befehl überschreibt die Datei test.txt
, wenn sie beendet wird; andernfalls wird ein neues erstellt. Das echo
wird normalerweise nicht verwendet, da es die Textformatierung nicht unterstützt.
Wir verwenden printf
für formatierten Text statt echo
. Das folgende Beispiel zeigt das Überschreiben der Datei mit printf
.
printf "overwriting using the printf \n now in next line" > test.txt
Der obige Befehl formatiert die Zeichenfolge und fügt die neue Zeile nach dem printf
hinzu.
Verwenden Sie den Operator >>
, um in eine Datei zu schreiben
Der Operator >>
wird verwendet, um Inhalte am Ende der Datei anzuhängen. Beispielsweise wird der folgende Befehl verwendet, um die Daten an die Datei mit dem Namen test.txt
anzuhängen.
echo "Append in the file" >> test.txt
Verwenden Sie den Befehl vim
, um in eine Datei zu schreiben
Der Editor vim
wird auch verwendet, um den Inhalt der Datei zu bearbeiten. Der folgende Code öffnet beispielsweise die Datei test.sh
im Editor vim
.
sudo vim test.sh
Fügen Sie nach dem Öffnen des vim-Editors das folgende Skript hinzu, um die Dateischreibvorgänge auszuführen.
#! /bin/bash
echo "Enter Student Name"
read yourName
echo $yourName > test.txt
echo "Enter age"
read age
echo $age >> test.txt
cat test.txt
Nachdem Sie den Code hinzugefügt haben, drücken Sie ESC und geben Sie w ein, um die Datei zu schließen. Führen Sie nun die Datei mit der bash test.sh
aus.
Das obige Skript zeigt zwei Ansätze zum Schreiben von Dateien. In Zeile 4 haben wir den Operator >
verwendet, der die Datei überschreibt. Verwenden Sie in Zeile 7 den Operator >>
, der den vorherigen Inhalt nicht überschreibt und die Zeichenfolge an die neue Zeile anhängt.
Verwenden Sie den Befehl tee
, um in eine Datei zu schreiben
Wir können den Befehl tee
verwenden, wenn wir gleichzeitig Schreibvorgänge in die Datei und die Konsole ausführen möchten. Es übernimmt gleichzeitig die Eingabe und schreibt die Zeichenfolge in die Datei und die Konsole.
Mit dem Befehl tee
können wir den Inhalt auf der Konsole sehen, der in die Datei geschrieben wird. Der Befehl tee
dient auch zum Überschreiben und Anhängen der Datei.
Verwenden Sie den Befehl tee
, um eine Datei zu überschreiben
Der folgende Befehl dient zum Überschreiben mit dem tee
-Befehl.
echo "Testing the Tee Command" | tee test.txt
Der obige Befehl nimmt die Zeichenfolgeneingabe aus der Pipe (|
) und schreibt sie gleichzeitig auf die Konsole und die Datei.
Verwenden Sie den Befehl tee
, um an eine Datei anzuhängen
Das Flag -a
wird mit dem Befehl tee
verwendet, um eine Datei anzuhängen. Der folgende Code fügt beispielsweise Testing the Tee Command
an die Datei test.txt
an.
echo "Testing the Tee Command" | tee -a test.txt
Manchmal müssen wir den Inhalt möglicherweise gleichzeitig in mehrere Dateien schreiben. Wir können den Befehl tee
verwenden, um dies zu erreichen, indem wir die Namen aller Dateien angeben, die durch ein einzelnes Leerzeichen getrennt sind.
Das Befolgen des bash-Befehls zeigt das Schreiben des Inhalts in mehrere Dateien:
echo "Writing text to the multiple files" | tee test1.txt test2.txt test3.txt
Der obige Befehl schreibt den Eingabestring gleichzeitig auf die Konsole und die drei Textdateien.