So schreiben Sie in eine Datei in Bash

How Write File Bash

Eine der wesentlichen Aufgaben, die wir bei der Arbeit mit Bash-Scripting erledigen, ist das Lesen und Schreiben von Dateien. In diesem Handbuch konzentrieren wir uns darauf, wie Sie Dateien in der Bash lesen und bearbeiten.

Es gibt mehrere Möglichkeiten, eine Datei in der Bash zu lesen und zu schreiben. Der einfachste Weg ist die Verwendung der Operatoren > und >>.



  • > Operator überschreibt die vorhandenen Daten
  • >> Operator wird Daten anhängen

Das allgemeine Format für die Verwendung von Umleitungsoperatoren ist:



Daten > Dateiname
Daten >> Dateiname

Lassen Sie uns das Schreiben in eine Dateiprozedur anhand eines Beispiels verstehen:



So schreiben Sie eine Datei mit Umleitungsoperatoren

Wie oben besprochen, verwendet man beim Schreiben in eine Datei einfach und unkompliziert Umleitungsoperatoren. Wenn Sie beispielsweise den Text einer bereits vorhandenen Datei ändern möchten, erstellen Sie zunächst eine Textdatei mit dem Namen testdatei.txt und schreibe etwas hinein:

Speichern Sie die Textdatei.



Geben Sie den unten genannten Befehl in das Terminal ein:

$ echo Überschreiben des vorhandenen Textes in der Datei > testfile.txt

Überwringen kann riskant sein; Daher empfiehlt es sich, Noclobber zu aktivieren. Das Setzen von noclobber würde jedes Überschreiben einer bestehenden Datei blockieren.

$ set –o noclobber
$ echo Überschreiben des vorhandenen Textes in der Datei > testfile.txt

Aber wenn Sie Noclobber umgehen möchten, verwenden Sie die > | Betreiber statt > :

$ echo Überschreiben des bestehenden Textes in der Datei >| testdatei.txt

Oder Sie können noclobber einfach deaktivieren:

$ set + oder noclobber

Aber dieser Befehl entfernt den Schutz aller Dateien.

Die obige Ausgabe zeigt an, dass der vorhandene Text überschrieben wurde. Jetzt verwenden wir die >> Operator:

$ echo Text an die vorhandene Textdatei anhängen >> testfile.txt

rauswerfen ist nicht immer ideal zu verwenden, da Sie damit keinen Text formatieren können. Verwenden Sie daher printf anstelle von echo, um den Text wie im folgenden Befehl gezeigt zu formatieren:

$ printf Willkommen Dies ist eine neue Textdatei. > neue Testdatei.txt

Lassen Sie uns das Konzept anhand eines Bash-Skriptbeispiels verstehen. Öffnen Sie Vim, indem Sie im Terminal vim eingeben. Wenn Sie den Vim-Editor nicht auf Ihrem Gerät haben, installieren Sie ihn mit:

$ sudo apt install vim

Geben Sie das Skript ein:

#! /bin/bash
echo Gib deinen Namen ein
Namen lesen
echo $name > data_dir.txt
echo Gib dein Alter ein
Alter lesen
echo $age >> data_dir.txt
cat data_dir.txt

Die Katze Befehl wird verwendet, um die Dateien zu erstellen und zu bearbeiten. Speichern Sie das obige Skript in Vim, indem Sie den Modus wechseln, nachdem Sie die Taste gedrückt haben Esc Taste und dann tippe : in myscript.sh . Öffnen Sie das Terminal und führen Sie den Code aus:

So schreiben Sie eine Datei mit Heredoc

Wenn Sie mehrere Zeilen schreiben möchten, verwenden Sie Heredoc am einfachsten. Das Here-Dokument, auch Heredoc genannt, ist ein Mehrzweck-Codeblock. Die Syntax von Heredoc ist:

Befehl<<[-] Delimiter
.
Text/Befehle
.

Trennzeichen

Anstelle von Trennzeichen kann eine beliebige Zeichenfolge verwendet werden, und - kann auch verwendet werden, um Tabulatoren in der Datei zu entfernen. Lassen Sie es uns anhand eines einfachen Beispiels verstehen:

#! /bin/bash

Katze<< TEXTFILE
Dies ist eine Textdatei.
Diese Datei wird mit Heredoc erstellt.
TEXTDATEI

Der obige Befehl script cat erstellt eine Textdatei mit dem Namen TEXTFILE und schreibt Text in die soeben erstellte Datei. Speichern Sie nun die Datei unter dem Namen myscript.sh . Starten Sie das Terminal und führen Sie das Skript aus.

So schreiben Sie eine Datei mit dem Tee-Befehl

Eine andere Methode zum Schreiben einer Datei ist die Verwendung des Tee-Befehls. Als Namensangabe nimmt dieser Befehl Eingaben entgegen und schreibt in eine Datei und zeigt gleichzeitig die Ausgabe an. Standardmäßig überschreibt der Tee-Befehl die vorhandenen Daten.

$ echo Dies ist ein Text | tee textfile.txt

Um die Verwendung -a anzuhängen:

$ echo Dies ist ein anderer Text | T-Stück – eine Textdatei.txt

Um mehrere Zeilen zu schreiben, verwenden Sie:

$ echo Hinzufügen von Text zu mehreren Dateien | T-Stück textfile1.txt textfile2.txt textfile3.txt

Der obige Befehl erstellt drei Dateien, wenn sie nicht vorhanden sind, und schreibt Text in jede von ihnen.

Abschluss

Dieses Handbuch konzentriert sich auf verschiedene Ansätze zum Schreiben in eine Datei in der Bash mit Beispielen. Beim Bash-Skripting gibt es mehrere Möglichkeiten, eine Datei zu schreiben, aber die einfachste ist die Verwendung der Umleitungsoperatoren >, >>. Um mehrere Zeilen zu schreiben, kann heredoc verwendet werden, und wenn Sie dieselben Daten in mehrere Zeilen schreiben möchten, ist der tee-Befehl sehr praktisch.