Schreiben Sie in eine Datei in Bash

Faaiq Bilal 20 Juni 2023
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.

Verwandter Artikel - Bash File