So lesen Sie die Dateizeile nach Zeile im Bash -Skript

So lesen Sie die Dateizeile nach Zeile im Bash -Skript
Wie würden Sie ein Bash -Skript schreiben, mit dem eine Textdatei jeweils eine Zeile verarbeiten kann. Zuerst benötigen Sie eine Syntax und einen Ansatz, um die Dateizeile nach Zeile zu lesen. Die Methoden für diesen Ansatz sind in diesem Tutorial gezeigt.

Angenommen, Sie haben eine Datei mit dem Namen Unternehmen.txt Welcher Inhalt der Firmennamen. Diese Datei enthält den folgenden Inhalt.

Unternehmen.txt
Samsung
Nokia
Lg
Symphonie
iPhone

Beispiel -1: Dateiinhalt aus der Befehlszeile lesen

Angenommen, Sie möchten die Datei lesen, Unternehmen.txt, Zeile für Zeile aus der Befehlszeile ohne 'Katze' Befehl. Führen Sie den folgenden Befehl aus, um die Aufgabe zu erledigen. während Die Schleife lesen jede Zeile aus der Datei aus Unternehmen.txt In jedem Schritt und speichern Sie den Inhalt der Linie in $ line Variable, die später gedruckt wird.

$ während der Lesenzeile; wiederholt $ line; Erledigt < company.txt

Beispiel -2: Lesen Sie den Dateiinhalt mithilfe des Skripts

Erstellen Sie eine Bash -Datei und fügen Sie den folgenden Code hinzu, um den Inhalt einer bestimmten Datei zu lesen. Hier wird ein vorhandener Dateiname in gespeicherter Namen gespeichert $ Dateiname variabel und $ n Variable wird verwendet, um den Wert der Zeilennummer dieser Datei zu halten. Wie früheres Beispiel, während Die Schleife wird verwendet, um diese Datei mit Zeilennummer zu lesen.

#!/Bin/Bash
Dateiname = 'Unternehmen.txt'
n = 1
Während der Lesenzeile; Tun
# Lesen Sie jede Zeile
Echo "Zeile nein. $ n: $ line "
n = $ ((n+1))
Erledigt < $filename

Führen Sie den folgenden Befehl aus, um das Skript auszuführen.

$ bash readFile1.Sch

Laufen 'Katze' Befehl mit Unternehmen.txt Datei zum Anzeigen des ursprünglichen Inhalts von Unternehmen.txt Datei.

$ cat Company.txt

Beispiel -3: Dateiname aus der Befehlszeile übergeben und die Datei lesen

Erstellen Sie eine Bash -Datei und fügen Sie das folgende Skript hinzu. Dieses Skript entnimmt den Dateinamen aus dem Befehlszeilenargument. Der erste Argumentwert wird von der Variablen $ 1 gelesen, die den Dateinamen zum Lesen enthält. Wenn die Datei am aktuellen Ort vorhanden ist, dann während Die Schleife lesen die Dateizeile für Zeile wie vorheriges Beispiel und drucken Sie den Dateiinhalt aus.

#!/Bin/Bash
Dateiname = $ 1
Während der Lesenzeile; Tun
# Lesen Sie jede Zeile
Echo $ line
Erledigt < $filename

Führen Sie das obige Skript mit Mitarbeiter.txt Datei als Argumentwert. Die Ausgabe zeigt den Inhalt von Mitarbeiter.txt Datei durch Entfernen des zusätzlichen Platzes. Sie können den ursprünglichen Inhalt von zeigen Mitarbeiter.txt Datei mit Verwendung 'Katze' Befehl.

$ bash readFile2.TXT -Mitarbeiter.txt
$ cat Angestellter.txt

Beispiel - 4: Lesen Sie die Datei, indem Sie die Backslash -Flucht weglassen

Wenn Sie jede Zeile einer Datei lesen möchten, indem Sie die Backslash -Flucht weglassen, müssen Sie verwenden '-R' Option mit dem Readbefehl in während Schleife.

#!/Bin/Bash
Während der Lektüre -r -Linie; Tun
# Lesen Sie jede Zeile
Echo $ line
Erledigt < company2.txt

Erstellen Sie eine Datei mit dem Namen Firma2.txt Mit Backslash und Ausführen des folgenden Befehls, um das Skript auszuführen. Die Ausgabe zeigt den Dateiinhalt ohne Backslash an.

$ bash readFile3.Sch

Sie müssen die Datei für viele Programmierzwecke lesen. Beispiel. Es ist also eine wesentliche Aufgabe für jede Programmierung. Einige einfache Beispiele für das Lesen von Dateien im Bash -Skript sind in diesem Tutorial angezeigt. Diese helfen Ihnen dabei, die Idee zu erhalten, die Dateiinhaltslinie mit der Zeile zu lesen, indem Sie im Bash -Skript schleifen und in Ihrem Skript effizienter anwenden. Weitere Informationen finden Sie im Video!