So lesen Sie Spaltendaten aus einer Textdatei in einem Bash-Shell-Skript

Eine der Aufgaben, die mit einem Bash-Shell-Skript ausgeführt werden können, besteht darin, Daten aus einer Textdatei zu lesen und zu verarbeiten. In diesem Artikel schauen wir uns an, wie man eine bestimmte Datenspalte aus einer Textdatei liest oder wie man mehrere Spalten aus einer Textdatei in einem Bash-Shell-Skript liest.

So lesen Sie Spaltendaten aus einer Textdatei in einem Bash-Shell-Skript

Das Lesen bestimmter Datenspalten aus einer Textdatei in einem Bash-Shell-Skript ist in verschiedenen Anwendungen praktisch, z. B. bei automatisierten, sich wiederholenden Aufgaben, Softwareentwicklung, Textverwaltung und vielem mehr. Sie müssen lediglich die entsprechende Spalte lesen. Zur weiteren Veranschaulichung unten die Syntax, die man befolgen kann, um jede Spalte aus einer beliebigen Textdatei zu lesen:

#!/bin/bash
while read line; Tun
# Verwenden Sie awk, um das dritte Feld (den Namen) aus jeder Zeile zu extrahieren
=$(echo $line | awk ‚{print $}‘)
# Den Namen ausdrucken
echo $
erledigt < .txt

1: Das Skript beginnt mit der Angabe des Shell-Interpreters, der mit der Shebang-Zeile verwendet werden soll #!/bin/bash.

2: Die while-Schleife liest den Inhalt der Textdatei Zeile für Zeile mithilfe des Lesebefehls und für jede gelesene Zeile awk Der Befehl wird verwendet, um das Feld (den Namen) aus der Zeile zu extrahieren. Der Befehl awk verwendet das Muster {print $} um das Feld auszuwählen, das dann im Variablennamen gespeichert wird.

3: Abschließend gibt das Skript den Wert der Namensvariablen mit dem Echo-Befehl aus und dieser Vorgang wird für jede Zeile in der Datei wiederholt, bis keine weiteren Zeilen mehr zu lesen sind.

Zum Verständnis des Lesers habe ich die oben angegebene Syntax verwendet, um eine Spalte aus der Textdatei zu lesen, und unten ist der Code dafür:

#!/bin/bash
while read line; Tun
# Verwenden Sie awk, um das zweite Feld aus jeder Zeile zu extrahieren
info=$(echo $line | awk ‚{print $3}‘)
# Drucken Sie das Alter aus
echo $info
erledigt < firmendetails.txt

Hier im Code habe ich die dritte Spalte jeder Zeile der Textdatei mit dem Namen „Unternehmensdetails“ gelesen. Der Befehl awk wird verwendet, um das dritte Feld (den Namen) aus der Zeile zu extrahieren. Der awk-Befehl verwendet das Muster {print $3}, um das dritte Feld auszuwählen. Hier ist die Ausgabe meines Beispielcodes:

Unten ist die Textdatei, die ich zu Demonstrationszwecken erstellt habe:

So lesen Sie mehrere Spalten einer Textdatei im Bash-Shell-Skript

Wenn Sie mehr als eine Spalte oder eine Datei lesen möchten, müssen Sie lediglich die Spaltennummer hinzufügen und der Rest ist derselbe. Hier ist also der Code zum Lesen von mehr als einer Spalte der Textdatei:

#!/bin/bash

# Diese Zeile gibt an, dass das Skript von der Bash-Shell interpretiert werden soll.

# Schleife durch jede Zeile der Datei
while read line; Tun
# Verwenden Sie awk, um das dritte Feld (den Namen) aus jeder Zeile zu extrahieren
info=$(echo $line | awk ‚{print $1, $2, $3}‘)
# Den Namen ausdrucken
echo $info
erledigt < firmendetails.txt

Unten sehen Sie die Ausgabe des Codes, der alle drei Spalten in der Textdatei liest:

Abschluss

Die Bash-Skripte sind ein vielseitiges Werkzeug, mit dem sich insbesondere bei Unix-basierten Systemen verschiedene Aufgaben automatisieren lassen. Durch die Kombination der while-Schleife und anderer Shell-Befehle kann man problemlos Spaltendaten aus einer Textdatei lesen und verschiedene Operationen mit den Daten ausführen.

Kommentar verfassen

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

Nach oben scrollen