So verwenden Sie für die Schleife im awk -Befehl

So verwenden Sie für die Schleife im awk -Befehl
Die Schleife wird verwendet, um einige Anweisungen mehrmals auszuführen. Die Iteration der Schleife basierend auf der Kündigungsbedingung oder der Anzahl der Array -Elemente. Drei Arten von Schleifen werden von jeder Programmiersprache unterstützt. Für Schleife ist einer von ihnen. Für Schleife kann auf zwei Arten deklariert werden. Einfach für die Schleife enthält drei Teile. Und eine andere für die Schleife ist für die Schleife, mit der eine Liste von Daten oder Array iteriert wird. Dieses Tutorial zeigt die Verwendung dieser beiden Arten von Schleifen im Befehl awk anhand verschiedener Beispiele.

Syntax:

  1. Für die Schleifenerklärung:
für (Initialisierung; Terminierungsbedingung; Inkrement/Dekrement)
Aussagen

Der erste Teil wird verwendet, um die Variable zum Starten zu initialisieren für Schleife. Der zweite Teil enthält die Kündigungsbedingung, um die Iteration der Schleife zu kontrollieren, und die Schleife wird fortgesetzt, bis die Bedingung wahr ist. Der letzte Teil erhöht oder verringert die Initialisierungsvariable basierend auf dem ersten Teil.

  1. für die Erklärung
für (Variable in Array/Liste)
Aussagen

für in Schleife wird verwendet, um diese Aufgaben zu erledigen, bei denen die Anzahl der Iteration der Schleife nicht festgelegt ist. für in Die Schleife wird hauptsächlich verwendet, um ein Array oder eine Liste von Daten zu analysieren. Die Schleife liest jede Daten aus dem Array oder der Liste aus und speichert den Wert in einer Variablen in jeder Iteration.

Beispiel 1: Einfach für die Schleife verwenden

Eine einfache Schleife wird im folgenden Skript verwendet. Hier, Schalter Die Variable wird durch 10 initialisiert und die Schleife endet, wenn der Wert von Schalter ist weniger als 5. Das Skript druckt das aus Schalter Werte von 10 bis 5. Führen Sie den Befehl vom Terminal aus.

$ echo | awk 'for (counter = 10; counter> = 5; Zähler--)
Drucken Sie "Running for", Counter ", Times.","\N"; '

Ausgang:

Nach der Ausführung des Befehls wird die folgende Ausgabe angezeigt.

Beispiel-2: Verwenden Sie für die In-In-Schleife, um ein Array zu lesen

Ein Array namens Kunde wird im folgenden Skript deklariert, in dem der Kunde des Kunden Ausweis wird als Array -Index und der Kunde festgelegt Name wird als Array -Wert festgelegt. für in Die Schleife wird hier verwendet, um jeden Index aus dem Array zu iterieren und den Namen des Kunden auszudrucken. Führen Sie das Skript aus dem Terminal aus.

$ echo | awk 'begin customer ["4587"] = "neil Johnson";
Kunde ["8953"] = "Ella Binte Nazir";
Kunde ["3455"] = "Bruce hyslop";
Kunde ["6335"] = "Isabella";
Ende für (i im Kunden)
Drucken Sie "den Namen", ich ", ist", Kunde [i]
'

Ausgang:

Nach der Ausführung des Skripts wird die folgende Ausgabe angezeigt.

Beispiel-3: Verwenden Sie verschachtelt für die Schleife

Wenn eine für die Schleife unter einem anderen für die Schleife deklariert wird, wird es für die Schleife als verschachtelt bezeichnet. Die äußere Schleife, die in diesem Skript verwendet wird. Die Druckanweisung wird also 6 -mal ausgeführt (2x3 = 6). Führen Sie das Skript aus dem Terminal aus.

$ echo | awk 'Ende für (i = 1; i<=2; i++)
für (j = 1; J<=3; j++)
Drucken Sie "Iterating Row", i, "und Spalte", j, "\ n"; '

Ausgang:

Die folgende Ausgabe wird nach dem Ausführen des Skripts angezeigt.

Beispiel-4: Verwenden Sie für Schleife mit Break-Anweisung

brechen Die Anweisung wird in jeder Schleife verwendet, um die Schleife zu beenden. Im folgenden Skript beginnt für die Schleife ab 3 und endet, wenn der Wert von ich ist größer als 20. Aber wenn der Wert von ich wird gleich der Variablen sein num dann wird die Bedingung wahr und die Schleife endet für die brechen Stellungnahme.

$ echo | awk 'begin num = 7; Ende für (i = 3; i<=20; i++)
if (i == num) brechen;
anders
Druck "aktueller Wert von i =", i, "\ n"; '

Ausgang:

Hier, wenn die Bedingung für vier Iterationen falsch ist, wenn der Wert von ich ist 3,4,5 und 6. Die folgende Ausgabe wird also für die vier Iterationen gedruckt.

Beispiel-5: Verwenden Sie für die Schleife mit Continet-Anweisung

Weitere Anweisung wird in jeder Schleife verwendet, um eine Aussage auf der Grundlage einer bestimmten Bedingung abzulassen. Ein Array mit dem Namen Produkt wird im folgenden Skript deklariert. für in Die Schleife wird verwendet, um das Array zu iterieren und jeden Wert mit zu überprüfenBürosoftware“. Wenn der Wert übereinstimmt, wird eine nicht verfügbare Nachricht gedruckt, indem die verfügbare Nachricht für die Weitergabe anerklärung weggelassen wird. Führen Sie das Skript aus dem Terminal aus.

$ echo | awk 'begin product ["1001"] = "antivirus";
Produkt ["1002"] = "Office Software";
Produkt ["1003"] = "Zeichensoftware";
Produkt ["1004"] = "HDD";
product ["1005"] = "dvd"; end für (i im produkt)
if (Produkt [i] == "Office -Software")
Druckprodukt [i], "ist nicht verfügbar \ n";
weitermachen;

Produkte [i], "ist verfügbar", "\ n"; '

Ausgang:

Die folgende Ausgabe wird nach dem Ausführen des Skripts angezeigt.

Beispiel-6: Verwenden Sie für die Schleife in awk-Datei

Erstellen Sie eine Textdatei mit dem Namen Verkauf.txt und fügen Sie den folgenden Inhalt hinzu, um dieses Beispiel zu üben.

Verkauf.txt

2015 70000
2016 80000
2017 83000
2018 86000
2019 90000

Erstellen Sie eine awk -Datei mit dem Namen CAL_SAL.awk mit dem folgenden Skript, um die Gesamtverkäufe der Datei zu berechnen Verkauf.txt. Das zweite Feld enthält den jährlichen Verkaufsbetrag in der Datei Verkauf.txt. Im Skript, die Verkäufe Array speichert alle Werte des zweiten Feldes und Summe Variable wird mit 0 initialisiert, um alle Werte von hinzuzufügen Verkauf Array. Nächste, für in Schleife wird verwendet, um jedes Element von zu iterieren die Verkäufe Array und fügen Sie den Wert mit dem hinzu Summe Variable. Zuletzt wird die Druckanweisung verwendet, um den Wert von zu drucken Summe Variable zur Anzeige des Gesamtverkaufsbetrags.

CAL_SAL.awk


Umsatz [i ++] = $ 2;
sum = 0;

ENDE
für (i im Verkauf)

sum = sum+sales [i];

Druck "Gesamtverkaufsbetrag =" Summe;

Führen Sie den folgenden Befehl aus, um das Skript von CAL_SAL auszuführen.awk Datei.

$ awk -f cal_sal.awk Verkauf.txt

Ausgang:

Es gibt 5 Aufzeichnungen in der Verkauf.txt Datei und die Summe des Verkaufsbetrags beträgt 409000, der nach der Ausführung des Skripts gedruckt wird.

Abschluss:

In diesem Tutorial wird verschiedene Verwendungszwecke von für die Schleife im awk -Befehl vermittelt. Hoffe, der Leser erhält eine klare Vorstellung zur Verwendung für Schleife im awk -Skript und in der Lage, für Schleife in AWK -Programmierung ordnungsgemäß zu verwenden.