Syntaxis:
- voor lusverklaring:
uitspraken
Het eerste deel wordt gebruikt om de variabele voor het starten te initialiseren voor lus. Het tweede deel bevat de beëindigingsvoorwaarde om de iteratie van de lus te regelen en de lus zal doorgaan totdat de voorwaarde waar is. Het laatste deel zal de initialisatievariabele verhogen of verlagen op basis van het eerste deel.
- for-in aangifte
uitspraken
voor in lus wordt gebruikt om die taken uit te voeren waarbij het aantal herhalingen van de lus niet vaststaat. voor in lus wordt voornamelijk gebruikt om een array of lijst met gegevens te ontleden. De lus leest alle gegevens uit de array of lijst en slaat de waarde op in een variabele in elke iteratie.
Voorbeeld-1: Simple for loop gebruiken
In het volgende script wordt een eenvoudige for-lus gebruikt:. Hier, teller variabele wordt geïnitialiseerd met 10 en de lus wordt beëindigd wanneer de waarde van teller is minder dan 5. Het script zal de . afdrukken teller waarden van 10 tot 5. Voer de opdracht uit vanaf de terminal.
$ echo | awk ' voor (teller = 10; teller >= 5; teller--)print "Rennen voor", teller, " tijden.","\n"; '
Uitgang:
De volgende uitvoer verschijnt na het uitvoeren van de opdracht:.
Voorbeeld-2: For-in-lus gebruiken om een array te lezen
Een array met de naam Klant wordt gedeclareerd in het volgende script waarbij de klant ID kaart is ingesteld als een matrixindex en die van de klant customer naam is ingesteld als matrixwaarde. voor in lus wordt hier gebruikt om elke index uit de array te herhalen en de naam van de klant af te drukken. Voer het script uit vanaf de terminal.
$ echo | awk 'BEGIN Klant["4587"] = "Neil Johnson";Klant["8953"] = "Ella binte Nazir";
Klant["3455"] = "Bruce Hyslop";
Klant["6335"] = "Isabella";
END voor (i in Klant)
print "De naam van ", i," is " ,Klant[i]
'
Uitgang:
De volgende uitvoer zal verschijnen na het uitvoeren van het script:.
Voorbeeld-3: geneste for-lus gebruiken
Wanneer een for-lus wordt gedeclareerd onder een andere for-lus, wordt deze geneste for-lus genoemd. De buitenste lus die in dit script wordt gebruikt, wordt 2 keer herhaald en de binnenste lus 3 keer. Dus het print statement wordt uitgevoerd voor, (2X3=6) 6 keer. Voer het script uit vanaf de terminal.
$ echo | awk 'END voor (i=1; i<=2; i++)voor (j=1; j<=3; j++)
print "Itereren rij ", i" en kolom ", j,"\n";'
Uitgang:
De volgende uitvoer zal verschijnen na het uitvoeren van het script:.
Voorbeeld-4: For-lus gebruiken met break-instructie
breken instructie wordt in elke lus gebruikt om de lus te beëindigen voordat de beëindigingsvoorwaarde wordt bereikt op basis van de specifieke voorwaarde. In het volgende script begint de for-lus bij 3 en eindigt deze wanneer de waarde van ik groter is dan 20. Maar wanneer de waarde van ik zal gelijk zijn aan de variabele aantal dan is de if-voorwaarde waar en wordt de lus beëindigd voor de breken uitspraak.
$ echo | awk 'BEGIN num=7; END voor (i=3; i<=20; i++)if( i == num) breken;
anders
print "Huidige waarde van i =",i ,"\n";'
Uitgang:
Hier, als de voorwaarde onwaar is voor vier iteraties wanneer de waarde van ik is 3,4,5 en 6. Dus de volgende uitvoer wordt afgedrukt voor de vier iteraties:.
Voorbeeld-5: For-lus gebruiken met instructie continue
Doorgaan-instructie wordt in elke lus gebruikt om elke instructie op basis van een bepaalde voorwaarde weg te laten. Een array met de naam Product wordt gedeclareerd in het volgende script:. voor in loop wordt gebruikt om de array te herhalen en elke waarde te controleren met "Kantoorsoftware“. Als de waarde overeenkomt, wordt een niet-beschikbaar bericht afgedrukt door het beschikbare bericht weg te laten voor de instructie Doorgaan, anders wordt het niet-beschikbare bericht afgedrukt. Voer het script uit vanaf de terminal.
$ echo | awk 'BEGINproduct["1001"]="Antivirus";product["1002"]="Office-software";
product["1003"]="Tekensoftware";
product["1004"]="HDD";
product["1005"]="DVD"; EINDE voor (i in product)
if(product[i] == "Kantoorsoftware")
print product[i]," is niet beschikbaar\n";
doorgaan met;
print product[i], " is beschikbaar" ,"\n";'
Uitgang:
De volgende uitvoer zal verschijnen na het uitvoeren van het script:.
Voorbeeld-6: For-lus gebruiken in awk-bestand
Maak een tekstbestand met de naam verkoop.tekst en voeg de volgende inhoud toe om dit voorbeeld te oefenen.
verkoop.tekst
2015 700002016 80000
2017 83000
2018 86000
2019 90000
Maak een awk-bestand met de naam cal_sal.awk met het volgende script om het totale verkoopbedrag van het bestand te berekenen: verkoop.tekst. Het tweede veld bevat het jaarlijkse verkoopbedrag in het bestand verkoop.tekst. In het script, de verkopen array slaat alle waarden van het tweede veld op en som variabele wordt geïnitialiseerd met 0 om alle waarden van toe te voegen verkoop reeks. De volgende, voor in lus wordt gebruikt om elk element van te herhalen de verkopen array en voeg de waarde toe met de som variabele. Ten slotte wordt print statement gebruikt om de waarde van . af te drukken som variabele om het totale verkoopbedrag weer te geven.
cal_sal.awk
verkoop[i++]=$2;
som=0;
EINDE
voor (ik in de verkoop)
som=som+verkoop[i];
print "Totaal verkoopbedrag=" som;
Voer de volgende opdracht uit om het script van cal_sal . uit te voeren.awk-bestand.
$ awk -f cal_sal.slechte verkoop.tekstUitgang:
Er zijn 5 records in de verkoop.tekst bestand en de som van het verkoopbedrag is 409000 dat wordt afgedrukt na het uitvoeren van het script.
Conclusie:
Verschillende toepassingen van for loop in awk-opdracht worden in deze tutorial geprobeerd uit te leggen. Hoop, de lezer krijgt een duidelijk idee over het gebruik van for loop in awk-script en in staat om for loop correct te gebruiken in awk-programmering.