Syntax:
- för loopdeklaration:
uttalanden
Första delen används för att initialisera variabeln för start för slinga. Den andra delen innehåller avslutningsvillkoret för att styra slingans iteration och slingan fortsätter tills villkoret är sant. Den sista delen ökar eller minskar initialiseringsvariabeln baserat på den första delen.
- för-in-deklaration
uttalanden
för-in loop används för att utföra de uppgifter där antalet iteration av loop inte är fast. för-in loop används främst för att analysera en matris eller en lista med data. Slingan läser varje data från matrisen eller listan och lagrar värdet till en variabel i varje iteration.
Exempel 1: Använda enkel för loop
En enkel loop används i följande skript. Här, disken variabel initialiseras med 10 och slingan avslutas när värdet på disken är mindre än 5. Manuset kommer att skriva ut disken värden från 10 till 5. Kör kommandot från terminalen.
$ eko | awk 'för (counter = 10; counter> = 5; counter--)skriva ut "Running for", counter, "times."," \ n "; '
Produktion:
Följande utdata visas efter kommandot.
Exempel 2: Använd en in-loop för att läsa en matris
En matris med namnet Kund deklareras i följande skript där kundens id ställs in som ett matrisindex och kundens namn är satt som matrisvärde. för-in loop används här för att iterera varje index från arrayen och skriva ut kundens namn. Kör skriptet från terminalen.
$ eko | awk 'BEGIN Customer ["4587"] = "Neil Johnson";Kund ["8953"] = "Ella binte Nazir";
Kund ["3455"] = "Bruce Hyslop";
Kund ["6335"] = "Isabella";
SLUT för (i hos kund)
skriva ut "Namnet på", i, "är", Kund [i]
'
Produktion:
Följande utdata visas efter att manuset har körts.
Exempel 3: Använda kapslad för loop
När en for-loop deklareras under en annan för loop kallas den nested for loop. Den yttre slingan som används i detta skript upprepas två gånger och den inre slingan upprepas tre gånger. Så, utskriften kommer att köras för (2X3 = 6) 6 gånger. Kör skriptet från terminalen.
$ eko | awk 'END för (i = 1; i<=2; i++)för (j = 1; j<=3; j++)
skriv ut "Iterating row", i, "and column", j, "\ n"; '
Produktion:
Följande utdata visas efter körning av skriptet.
Exempel 4: Använda för loop med break-uttalande
ha sönder uttalande används i valfri slinga för att avsluta slingan innan den når avslutningsvillkoret baserat på det specifika tillståndet. I följande skript börjar for loop från 3 och det avslutas när värdet på i är större än 20. Men när värdet av i kommer att vara lika med variabeln antal då är if-villkoret sant och slingan avslutas för ha sönder påstående.
$ eko | awk 'BEGIN num = 7; SLUT för (i = 3; i<=20; i++)om (i == num) bryta;
annan
skriv ut "Aktuellt värde för i =", i, "\ n"; '
Produktion:
Här, om villkoret är falskt för fyra iterationer när värdet på i är 3,4,5 och 6. Så följande utskrift skrivs ut för de fyra iterationerna.
Exempel 5: Använda för loop med continue-uttalande
Fortsätt uttalande används i alla loopar för att utelämna alla uttalanden baserat på ett visst tillstånd. En matris med namnet produkt förklaras i följande skript. för-in loop används för att upprepa matrisen och kontrollera varje värde med “Kontorsprogramvara“. Om värdet matchar kommer ett otillgängligt meddelande att skrivas ut genom att utelämna tillgängligt meddelande för fortsättningsuttalande, annars skrivs otillgängligt meddelande ut. Kör skriptet från terminalen.
$ eko | awk 'BEGIN product ["1001"] = "Antivirus";produkt ["1002"] = "Office-programvara";
product ["1003"] = "Ritprogramvara";
produkt ["1004"] = "HDD";
produkt ["1005"] = "DVD"; SLUT för (jag i produkten)
if (produkt [i] == "Office-programvara")
utskriftsprodukt [i], "är inte tillgänglig \ n";
Fortsätta;
utskriftsprodukt [i], "är tillgänglig", "\ n"; '
Produktion:
Följande utdata visas efter körning av skriptet.
Exempel 6: Använda för loop i awk-fil
Skapa en textfil med namnet försäljning.Text och lägg till följande innehåll för att öva detta exempel.
försäljning.Text
2015 700002016 80000
2017 83000
2018 86000
2019 90000
Skapa en awk-fil med namnet cal_sal.awk med följande skript för att beräkna filens totala försäljningsbelopp försäljning.Text. Det andra fältet innehåller det årliga försäljningsbeloppet i filen försäljning.Text. I manuset, försäljningen array lagrar alla värden i det andra fältet och belopp variabel initialiseras med 0 för att lägga till alla värden för försäljning array. Nästa, för-in loop används för att itera varje element i försäljningen array och lägg till värdet med belopp variabel. Slutligen används utskrift för att skriva ut värdet på belopp variabel för att visa det totala försäljningsbeloppet.
cal_sal.awk
försäljning [i ++] = $ 2;
summa = 0;
SLUTET
för (jag i försäljning)
summa = summa + försäljning [i];
skriva ut "Totalt försäljningsbelopp =" summa;
Kör följande kommando för att utföra skriptet för cal_sal.awk-fil.
$ awk -f cal_sal.awk försäljning.TextProduktion:
Det finns 5 poster i försäljning.Text filen och summan av försäljningsbeloppet är 409000 som skrivs ut efter att manuset har körts.
Slutsats:
Olika användningsområden för for loop in awk-kommandot försöks förklara i denna handledning. Hoppas, läsaren får en tydlig uppfattning om hur man använder for loop in awk-skript och kan använda för loop ordentligt i awk-programmering.