So lesen Sie Datei Zeile für Zeile im Bash-Skript

0 Comments

Wie würden Sie ein Bash-Skript schreiben,das eine Textdatei zeilenweise verarbeiten kann? Zuerst benötigen Sie eine Syntax und einen Ansatz, um die Datei Zeile für Zeile zu lesen. Die Methoden für diesen Ansatz werden in diesem tutorial vorgestellt.

Angenommen, Sie haben eine Datei mit dem Namen company.txt, das die Firmennamen enthält. Diese Datei enthält den folgenden Inhalt.

Unternehmen.,txt
Samsung
Nokia
LG
Symphony
iphone

Beispiel -1: Lesen von Dateiinhalten über die Befehlszeile

Angenommen, Sie möchten die Datei lesen, Unternehmen.txt, Zeile für Zeile aus der Befehlszeile ohne ‚ cat ‚ Befehl. Führen Sie den folgenden Befehl aus, um die Aufgabe auszuführen. while loop liest jede Zeile aus der Datei company.txt in jedem Schritt, und speichern Sie den Inhalt der Zeile in $line-variable, die später gedruckt werden.

$ while read line; do echo $line; done < Unternehmen.,txt

Beispiel -2: Lesen des Dateiinhalts 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 der Variablen $filename gespeichert und die Variable $n wird verwendet, um den Wert der Zeilennummer dieser Datei beizubehalten. Wie im vorherigen Beispiel wird while loop verwendet, um diese Datei mit der Zeilennummer zu lesen.

#!/bin/bash
filename=“company.txt“
n=1
while read line; do
# Lesen jede Zeile
echo „Zeile Nicht., $n : $line“
n=$((n+1))
fertig < $filename

den folgenden Befehl Ausführen, um das Skript auszuführen.

$ bash readfile1.sh

Führen Sie den Befehl ‚cat‘ mit company aus.txt-Datei, um den ursprünglichen Inhalt des Unternehmens anzuzeigen.txt-Datei.

$ cat Unternehmens.txt

Beispiel -3: Übergeben des Dateinamens über die Befehlszeile und Lesen der Datei

Erstellen Sie eine Bash-Datei und fügen Sie das folgende Skript hinzu., Dieses Skript übernimmt 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 Speicherort vorhanden ist, liest while loop die Datei Zeile für Zeile wie im vorherigen Beispiel und druckt den Dateiinhalt.

#!/bin/bash
filename=$1
while read line; do
# Lesen jede Zeile
echo $line
fertig < $filename

Führen Sie das obige Skript mit dem Mitarbeiter.txt-Datei als Argumentwert. Die Ausgabe zeigt den Inhalt des Mitarbeiters an.,txt-Datei durch Entfernen von zusätzlichem Speicherplatz. Sie können den ursprünglichen Inhalt des Mitarbeiters zeigen.txt-Datei mit dem Befehl‘ cat‘.

$ bash readfile2.txt Mitarbeiter.txt
$ cat Mitarbeiters.txt

Beispiel – 4: Datei lesen, indem Backslash escape weggelassen wird

Wenn Sie jede Zeile einer Datei lesen möchten, indem Sie backslash escape weglassen, müssen Sie die Option ‚-r‘ mit dem Befehl read in der while-Schleife verwenden.

#!,/bin/bash
while read -r line; do
# Lesen jede Zeile
echo $line
fertig < company2.txt

Erstellen Sie eine Datei mit dem Namen company2.txt mit Backslash und führen Sie den folgenden Befehl aus, um das Skript auszuführen. Die Ausgabe zeigt den Dateiinhalt ohne Backslash an.

$ bash readfile3.sh

Sie benötigen zum Lesen der Datei für viele Programmier-Zwecke. Sie können beispielsweise bestimmte Inhalte einfach aus einer beliebigen Datei suchen oder abgleichen, indem Sie jede Zeile separat lesen., Es ist also eine wesentliche Aufgabe für jede Programmierung. In diesem Tutorial werden einige einfache Beispiele für das Lesen von Dateien im Bash-Skript gezeigt. Diese helfen Ihnen, die Idee zu bekommen, Dateiinhalt Zeile für Zeile mit while Schleife in Bash-Skript zu lesen und in Ihrem Skript effizienter anzuwenden. Für weitere Informationen sehen Sie das Video!


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.