Bash für jede Zeile in einer Datei

Bash für jede Zeile in einer Datei
Die „für“ -Schloop in Bash kann mit unterschiedlichen Variationen für die Ausführung mehrerer Aufgaben verwendet werden. Eine solche Variation ist die "für jede Zeile in der Datei", die für das Lesen aller Zeilen in einer Datei verantwortlich ist. In diesem Artikel werden wir über die Methoden der Verwendung „für jede Zeile in der Datei“ in Bash sprechen.

Hinweis: Die unten gezeigten Methoden wurden auf Ubuntu 20 demonstriert.04. Sie werden jedoch auch bei jeder anderen Linux -Verteilung gut zusammenarbeiten.

Methoden zur Verwendung "für jede Zeile in der Datei" in Bash:

In diesen Methoden werden Ihnen ein Beispiel angezeigt, in dem Sie jede Zeile aus einer Datei lesen können, und dann können Sie sie entweder auf dem Terminal anzeigen oder diese Zeilen sogar in einer anderen Datei speichern. Schauen wir uns diese beiden Methoden an.

Methode Nr. 1: Zum Anzeigen der Lesezeilen auf dem Terminal:

Um die Zeilen einer Datei auf dem Terminal anzuzeigen, indem Sie „für jede Zeile in der Datei“ verwenden, müssen Sie die folgenden Schritte ausführen:

Schritt 1: Erstellen einer Dummy -Textdatei:

Zunächst müssen Sie eine Textdatei mit einigen zufälligen Daten für die Demonstration erstellen. Obwohl diese Textdatei überall erstellt werden kann, wird jedoch dringend empfohlen, sie im Home -Ordner zu erstellen. Klicken Sie hierfür auf das in dem unten gezeigte Bild gezeigte Bild -Manager -Symbol:

  • Klicken Sie nun mit der rechten Maustaste in Ihrem Home-Ordner mit der rechten Maustast. Wählen Sie dann die Option Leerer Dokument aus. Sobald ein leeres Dokument in Ihrem Heimatordner erstellt wurde, geben Sie den Namen Ihrer Wahl dafür an, gefolgt von der .TXT -Erweiterung. In diesem Beispiel haben wir es als ForeAgerline benannt.txt.


  • Doppelklicken Sie auf diese Textdatei, um sie zu öffnen, und geben Sie dann einen zufälligen Text ein, wie im folgenden Bild gezeigt. Speichern Sie diese Datei danach und schließen Sie sie.

  • Schritt 2: Erstellen des Bash -Skripts:

    Erstellen Sie nun eine Bash -Datei auf die gleiche Weise wie Sie die Textdatei im Home -Ordner erstellt haben, außer dass Sie diesmal ihren Namen angeben müssen, gefolgt von der .SH -Erweiterung statt der .TXT -Erweiterung. Wir haben unsere Bash -Datei als ForeAchline benannt.SH, aber Sie können ihm einen Namen Ihrer Wahl geben.

    Öffnen Sie diese Datei, indem Sie darauf doppelklicken und dann das im Bild unten angezeigte Skript in Ihrer neu erstellten Bash-Datei eingeben. Hier ist die erste Zeile da, um anzuzeigen, dass das folgende Skript ein Bash -Skript ist. Wir haben einfach eine Variable mit dem Namen "Datei" erstellt und sie den Namen unserer Textdatei als Wert i zugewiesen.e. Für Eachlinie.txt. Dann haben wir eine Variable mit dem Namen "Zeilen" erstellt und sie auf "$ (cat $ file) ausgeglichen". Hier liest der CAT -Befehl den Inhalt unserer Textdatei und wenn es ein Symbol „$“ vorangestellt ist, wird der in diesem Befehl gelesene Inhalt in der Zeilenvariablen gespeichert. Auf diese Weise alle Zeilen der Datei benannt nach der Eachlinie.TXT wird in der Zeilenvariablen gespeichert. Dann haben wir die "für" -Schloop angewendet, die eine Iteratorin "Linie" hat. Dieser Iterator arbeitet an der oben erstellten Variablen „Linien“. Dann haben wir im Block „Do-Done“ einfach alle diese Zeilen auf dem Terminal angezeigt, indem wir den Befehl echo verwenden.

    Schritt 3: Ausführen des Bash -Skripts:

    Starten Sie nun das Terminal in Ubuntu 20.04 und führen Sie dann den folgenden Befehl darin aus, um das oben erstellte Bash -Skript auszuführen:
    Bash für Eachline.Sch

    Wenn dieser Befehl das Bash -Skript zum Ausführen macht, können Sie alle Zeilen Ihrer Textdatei in Ihrem Terminal wie im folgenden Bild gezeigt sehen:

    Methode Nr. 2: Zum Speichern aller Lesezeilen in einer anderen Datei:

    In dieser Methode haben wir das in der obige Methode erstellte Bash -Skript leicht geändert, um alle Lesezeilen in einer neuen Textdatei zu speichern, anstatt sie auf dem Terminal anzuzeigen. Führen Sie dazu die unten genannten Schritte aus:

    Schritt 1: Ändern des oben erstellten Bash -Skripts und ausführen: Ausführend:

    Öffnen Sie das Bash -Skript, das Sie in der obigen Methode erstellt haben, und ändern Sie es wie im folgenden Bild gezeigt. Wir haben einfach das Symbol ">>" hinzugefügt, gefolgt von einem neuen Dateinamen nach dem Befehl echo im Block "Do-Done". Diese Änderung speichert alle Lesezeilen in einer neuen Textdatei, anstatt sie auf dem Terminal anzuzeigen. Führen Sie nun das Bash -Skript erneut über das Terminal mit dem Bash -Befehl aus, gefolgt vom Namen der Bash -Datei. Wenn das Bash -Skript ausgeführt wird, wird eine neue Textdatei erstellt, deren Name in diesem Fall Newfile ist.txt.

    Schritt 2: Zugriff auf die neu erstellte Textdatei:

    Um zu überprüfen, ob alle "Lese" -Zeilen in der neuen Textdatei gespeichert wurden, können Sie einfach den Inhalt dieser Datei anzeigen, indem Sie den folgenden Befehl in Ihrem Terminal ausführen:
    Katzen -Neufile.txt

    Die im Bild unten gezeigte Ausgabe versichert Ihnen, dass alle Lesezeilen in die neue Textdatei kopiert wurden.

    Abschluss:

    Auf diese Weise können Sie „für jede Zeile in der Datei“ verwenden, um alle Zeilen einer Datei zu lesen und sie dann mit diesen Zeilen zu manipulieren. Wir haben gerade über die beiden grundlegenden Szenarien in diesem Artikel gesprochen. Sie können diese Schleife jedoch sogar für komplexere Probleme verwenden.