Syntaks:
- for løkkeerklæring:
uttalelser
Første del brukes til å initialisere variabelen for start til Løkke. Den andre delen inneholder avslutningsbetingelsen for å kontrollere iterasjonen av sløyfen, og sløyfen vil fortsette til tilstanden er sant. Den siste delen vil øke eller redusere initialiseringsvariabelen basert på den første delen.
- for-in erklæring
uttalelser
for i loop brukes til å utføre de oppgavene der antall iterasjon av loop ikke er fast. for i loop brukes hovedsakelig til å analysere en matrise eller en liste over data. Sløyfen leser hver data fra matrisen eller listen og lagrer verdien til en variabel i hver iterasjon.
Eksempel 1: Bruke enkel for loop
En enkel for loop brukes i følgende skript. Her, disk variabel initialiseres med 10, og sløyfen avsluttes når verdien av disk er mindre enn 5. Manuset vil skrive ut disk verdier fra 10 til 5. Kjør kommandoen fra terminalen.
$ ekko | awk 'for (counter = 10; counter> = 5; counter--)skriv ut "Running for", counter, "times."," \ n "; '
Produksjon:
Følgende utdata vises etter utførelse av kommandoen.
Eksempel 2: Bruk for-in loop til å lese en matrise
En matrise med navnet Customer blir erklært i følgende skript hvor kundens id er satt som en matriseindeks og kundens Navn er satt som matriseverdi. for i loop brukes her for å gjenta hver indeks fra matrisen og skrive ut kundens navn. Kjør skriptet fra terminalen.
$ ekko | awk 'BEGIN Customer ["4587"] = "Neil Johnson";Kunde ["8953"] = "Ella binte Nazir";
Kunde ["3455"] = "Bruce Hyslop";
Kunde ["6335"] = "Isabella";
SLUTT for (i hos kunde)
skriv ut "Navnet på", i, "er", kunde [i]
'
Produksjon:
Følgende utdata vises etter utførelsen av skriptet.
Eksempel 3: Bruke nestet for loop
Når en for-løkke blir deklarert under en annen for løkke, kalles den nestet for loop. Den ytre sløyfen som brukes i dette skriptet, gjentar seg to ganger og den indre sløyfen gjentas tre ganger. Så utskriftserklæringen vil kjøres for (2X3 = 6) 6 ganger. Kjør skriptet fra terminalen.
$ ekko | awk 'END for (i = 1; i<=2; i++)for (j = 1; j<=3; j++)
skriv ut "Iterating row", i, "and column", j, "\ n"; '
Produksjon:
Følgende utdata vises etter kjøring av skriptet.
Eksempel 4: Bruke for loop med break statement
gå i stykker uttalelse brukes i en hvilken som helst sløyfe for å avslutte sløyfen før den når termineringstilstanden basert på den spesielle tilstanden. I det følgende skriptet vil for loop starte fra 3 og det vil avsluttes når verdien av Jeg er større enn 20. Men når verdien av Jeg vil være lik variabelen num da vil hvis tilstanden oppfylles og sløyfen avsluttes for gå i stykker uttalelse.
$ ekko | awk 'BEGIN num = 7; SLUTT for (i = 3; i<=20; i++)hvis (i == num) pause;
ellers
skriv ut "Gjeldende verdi av i =", i, "\ n"; '
Produksjon:
Her, hvis betingelsen er falsk for fire iterasjoner når verdien av Jeg er 3,4,5 og 6. Så, følgende utskrift skrives ut for de fire iterasjonene.
Eksempel 5: Bruk for loop med fortsett uttalelse
Fortsett-setningen brukes i en hvilken som helst sløyfe for å utelate en uttalelse basert på en bestemt tilstand. Et utvalg som heter produkt er erklært i følgende skript. for i loop brukes til å gjenta matrisen og sjekke hver verdi med “Kontorprogramvare“. Hvis verdien samsvarer, vil en utilgjengelig melding skrives ut ved å utelate tilgjengelig melding for å fortsette uttalelsen, ellers vil ikke den tilgjengelige meldingen skrives ut. Kjør skriptet fra terminalen.
$ ekko | awk 'BEGIN product ["1001"] = "Antivirus";product ["1002"] = "Kontorprogramvare";
product ["1003"] = "Tegningsprogramvare";
produkt ["1004"] = "HDD";
produkt ["1005"] = "DVD"; END for (i i produkt)
hvis (produkt [i] == "Office-programvare")
utskriftsprodukt [i], "er ikke tilgjengelig \ n";
Fortsette;
utskriftsprodukt [i], "er tilgjengelig", "\ n"; '
Produksjon:
Følgende utdata vises etter kjøring av skriptet.
Eksempel 6: Bruke for loop i awk-fil
Lag en tekstfil med navnet salg.tekst og legg til følgende innhold for å øve på dette eksemplet.
salg.tekst
2015 700002016 80000
2017 83000
2018 86000
2019 90000
Opprett en awk-fil med navnet cal_sal.kjipt med følgende skript for å beregne den totale salgsbeløpet for filen salg.tekst. Det andre feltet inneholder det årlige salgsbeløpet i filen salg.tekst. I manuset, salgene array vil lagre alle verdiene i det andre feltet og sum variabel initialiseres med 0 for å legge til alle verdier av salg array. Neste, for i loop brukes til å gjenta hvert element av salgene array og legg til verdien med sum variabel. Til slutt brukes utskriftsuttalelse til å skrive ut verdien av sum variabel for å vise det totale salgsbeløpet.
cal_sal.kjipt
salg [i ++] = $ 2;
sum = 0;
SLUTT
for (jeg i salg)
sum = sum + salg [i];
trykk "Totalt salgssum =" sum;
Kjør følgende kommando for å utføre skriptet til cal_sal.awk-fil.
$ awk -f cal_sal.awk salg.tekstProduksjon:
Det er 5 poster i salg.tekst filen og summen av salgsbeløpet er 409000 som skrives ut etter at skriptet er utført.
Konklusjon:
Ulike bruksområder for for loop in awk-kommando er forsøkt å forklare i denne opplæringen. Håper, leseren vil få en klar ide om å bruke for loop in awk script og kunne bruke for loop riktig i awk programmering.