Sintakse:
- cilpas deklarācijai:
paziņojumi
Pirmo daļu izmanto, lai inicializētu mainīgo sākšanai priekš cilpa. Otrajā daļā ir ietverts izbeigšanas nosacījums, lai kontrolētu cilpas atkārtojumu, un cilpa turpināsies, līdz nosacījums ir patiess. Pēdējā daļa palielinās vai samazinās inicializācijas mainīgo, pamatojoties uz pirmo daļu.
- deklarācija
paziņojumi
for-in cilpa tiek izmantota to uzdevumu veikšanai, kur cilpas atkārtojuma skaits nav noteikts. for-in cilpa galvenokārt tiek izmantota, lai parsētu masīvu vai datu sarakstu. Cilpa nolasa visus datus no masīva vai saraksta un katrā atkārtojumā saglabā vērtību mainīgajam.
1. piemērs: vienkāršā izmantošana ciklam
Vienkāršais cilpa tiek izmantots šajā skriptā. Šeit, skaitītājs mainīgais tiek inicializēts ar 10, un cilpa tiks pārtraukta, kad vērtība skaitītājs ir mazāks par 5. Skripts izdrukās skaitītājs vērtības no 10 līdz 5. Palaidiet komandu no termināla.
$ atbalss | awk 'par (skaitītājs = 10; skaitītājs> = 5; skaitītājs--)drukāt "Running for", counter, "times."," \ n "; '
Izeja:
Pēc komandas izpildes parādīsies šāda izeja.
2. piemērs: Ievades cilpa izmantošana masīva nolasīšanai
Masīvs ar nosaukumu Klients tiek deklarēts šādā skriptā, kur klients id ir iestatīts kā masīva indekss un klienta indekss nosaukums ir iestatīta kā masīva vērtība. for-in cilpa šeit tiek izmantota, lai atkārtotu katru indeksu no masīva un izdrukātu klienta vārdu. Palaidiet skriptu no termināla.
$ atbalss | awk 'BEGIN Klients ["4587"] = "Nīls Džonsons";Klients ["8953"] = "Ella binte Nazir";
Klients ["3455"] = "Brūss Hyslops";
Klients ["6335"] = "Izabella";
END par (i klientā)
drukāt "nosaukums", i, "ir", klients [i]
Izeja:
Pēc skripta izpildes parādīsies šāda izeja.
3. piemērs: ligzdotu cilpu izmantošana
Kad cilpa for for deklarēta zem citas cilpa, to sauc par ligzdotu cilpu. Šajā skriptā izmantotā ārējā cilpa atkārtosies 2 reizes, bet iekšējā cilpa - 3 reizes. Tātad, izdrukātais paziņojums tiks izpildīts, (2X3 = 6) 6 reizes. Palaidiet skriptu no termināla.
$ atbalss | awk 'END par (i = 1; i<=2; i++)par (j = 1; j<=3; j++)
izdrukāt "Iterating row", i, "and column", j, "\ n"; '
Izeja:
Pēc skripta palaišanas parādīsies šāda izeja.
4. piemērs: Cilpai ar pārtraukuma izmantošanu
pārtraukums paziņojums tiek izmantots jebkurā cilpā, lai pārtrauktu cilpu, pirms tiek sasniegts izbeigšanas nosacījums, pamatojoties uz konkrēto nosacījumu. Šajā skriptā cilpa sāksies no 3, un tā beigsies, kad vērtība i ir lielāks par 20. Bet, kad vērtība i būs vienāds ar mainīgo num tad, ja nosacījums būs patiess, un cilpa tiks pārtraukta pārtraukums paziņojums, apgalvojums.
$ atbalss | awk 'SĀKT num = 7; END par (i = 3; i<=20; i++)ja (i == skaits) pārtraukums;
cits
drukāt "Pašreizējā vērtība i =", i, "\ n"; '
Izeja:
Lūk, ja nosacījums ir kļūdains četrām atkārtojumiem, kad vērtība i ir 3,4,5 un 6. Tātad četrām atkārtojumiem tiek izdrukāta šāda izeja.
5. piemērs: izmantošana ciklam ar turpinājuma paziņojumu
Turpināt paziņojums tiek izmantots jebkurā cilpā, lai izlaistu jebkuru paziņojumu, pamatojoties uz konkrētu nosacījumu. Masīvs ar nosaukumu produktu ir deklarēts šādā rakstā. for-in cilpa tiek izmantota, lai atkārtotu masīvu un pārbaudītu katru vērtību ar “Biroja programmatūra“. Ja vērtība sakrīt, tiks drukāts nepieejams ziņojums, izlaižot pieejamo ziņojumu turpinājuma paziņojumam, pretējā gadījumā tiks drukāts nepieejams ziņojums. Palaidiet skriptu no termināla.
$ atbalss | awk 'BEGIN produkts ["1001"] = "Antivīruss";produkts ["1002"] = "Biroja programmatūra";
produkts ["1003"] = "Zīmēšanas programmatūra";
produkts ["1004"] = "HDD";
produkts ["1005"] = "DVD"; END priekš (i produktā)
if (produkts [i] == "Biroja programmatūra")
drukas produkts [i], "nav pieejams \ n";
Turpināt;
drukas produkts [i], "ir pieejams", "\ n"; '
Izeja:
Pēc skripta palaišanas parādīsies šāda izeja.
6. piemērs: cilnes izmantošana awk failā
Izveidojiet teksta failu ar nosaukumu pārdošana.txt un pievienojiet šādu saturu, lai praktizētu šo piemēru.
pārdošana.txt
2015 700002016 80000
2017 83000
2018 86000
2019. gads 90000
Izveidojiet awk failu ar nosaukumu cal_sal.awk ar šādu skriptu, lai aprēķinātu kopējo faila pārdošanas apjomu pārdošana.txt. Otrajā laukā ir faila gada pārdošanas summa pārdošana.txt. Scenārijā, pārdošanu masīvs glabās visas otrā lauka un summa mainīgais tiek inicializēts ar 0, lai pievienotu visas vērtības pārdošana masīvs. Nākamais, for-in cilpa tiek izmantota katra elementa atkārtošanai pārdošanu masīvs un pievienojiet vērtību ar summa mainīgais. Visbeidzot, drukāt paziņojumu tiek izmantots, lai izdrukātu vērtību summa mainīgais, lai parādītu kopējo pārdošanas summu.
cal_sal.awk
pārdošanas apjomi [i ++] = 2 ASV dolāri;
summa = 0;
END
par (i pārdošanā)
summa = summa + pārdošanas apjomi [i];
izdrukāt "Kopējā pārdošanas summa =" summa;
Izpildiet šo komandu, lai izpildītu cal_sal skriptu.awk fails.
$ awk -f cal_sal.awk pārdošana.txtIzeja:
Vietnē ir 5 ieraksti pārdošana.txt failu un pārdošanas summa ir 409000, kas tiek izdrukāta pēc skripta izpildes.
Secinājums:
Šajā apmācībā ir mēģināts izskaidrot komandu loop in awk dažādus lietojumus. Ceru, ka lasītājs iegūs skaidru priekšstatu par cikla izmantošanu awk skriptā un spēs pareizi izmantot cilpu awk programmēšanā.