Awk

Kako uporabiti for zanko v ukazu awk

Kako uporabiti for zanko v ukazu awk
Loop se uporablja za večkratno izvajanje nekaterih stavkov. Ponovitev zanke na podlagi pogoja zaključka ali števila elementov matrike. Vsak programski jezik podpira tri vrste zank. Za zanko je eden izmed njih. Za zanko je mogoče prijaviti na dva načina. Zanka Simple for vsebuje tri dele.  Druga zanka for je zanka for-in, ki se uporablja za ponavljanje katerega koli seznama podatkov ali matrike. Ta vadnica prikazuje uporabo teh dveh vrst zank v ukazu awk z različnimi primeri.

Sintaksa:

  1. za izjavo zanke:
za (inicializacija; pogoj zaključka; prirast / zmanjšanje)
izjave

Prvi del se uporablja za inicializacijo spremenljivke za zagon za zanko. Drugi del vsebuje pogoj zaključka za nadzor ponovitve zanke in zanka se bo nadaljevala, dokler pogoj ne bo izpolnjen. Zadnji del bo povečal ali zmanjšal inicializacijsko spremenljivko na podlagi prvega dela.

  1. deklaracija
za (spremenljivka v matriki / seznamu)
izjave

za-v zanka se uporablja za opravila, pri katerih število ponovitev zanke ni določeno. za-v zanka se uporablja predvsem za razčlenjevanje matrike ali seznama podatkov. Zanka bere vse podatke iz polja ali seznama in vrednost shrani v spremenljivko v vsaki ponovitvi.

Primer-1: Uporaba zanke simple for

V naslednjem skriptu je uporabljena preprosta zanka for. Tukaj, števec spremenljivka se inicializira z 10 in zanka se konča, ko je vrednost števec je manj kot 5. Skript bo natisnil števec vrednosti od 10 do 5. Zaženite ukaz s terminala.

$ echo | awk 'for (števec = 10; števec> = 5; števec--)
natisni "Running for", counter, "krat."," \ n "; '

Izhod:

Po izvedbi ukaza se prikaže naslednji izhod.

Primer-2: Uporaba zanke for-in za branje matrike

Polje z imenom Kupec je v naslednjem skriptu deklarirano, kjer je strankino id je nastavljen kot indeks matrike in indeks stranke ime je nastavljena kot vrednost matrike. za-v zanka se tukaj uporablja za ponovitev vsakega indeksa iz matrike in tiskanje imena stranke. Zaženite skript s terminala.

$ echo | awk 'BEGIN Stranka ["4587"] = "Neil Johnson";
Stranka ["8953"] = "Ella binte Nazir";
Stranka ["3455"] = "Bruce Hyslop";
Stranka ["6335"] = "Isabella";
 
END for (i v stranki)
natisni "Ime", i, "je", kupec [i]
'

Izhod:

Po izvedbi skripta se prikaže naslednji izhod.

Primer-3: Uporaba ugnezdene zanke

Ko je zanka for razglašena pod drugo for zanko, se imenuje ugnezdena zanka for. Zunanja zanka, ki je uporabljena v tem skriptu, se bo ponovila 2-krat, notranja zanka pa 3-krat. Torej se bo izjava za tiskanje izvedla, (2X3 = 6) 6-krat. Zaženite skript s terminala.

$ echo | awk 'END for (i = 1; i<=2; i++)
za (j = 1; j<=3; j++)
natisni "Ponavljajoča se vrstica", i, "in stolpec", j, "\ n"; '

Izhod:

Po zagonu skripta se prikaže naslednji izhod.

Primer-4: Uporaba zanke for z izjavo break

odmor Stavek se uporablja v kateri koli zanki za prekinitev zanke, preden doseže pogoj zaključka, ki temelji na določenem pogoju. V naslednjem skriptu se bo zanka for začela od 3 in se bo končala, ko bo vrednost jaz je večje od 20. Ko pa vrednost jaz bo enako spremenljivki številka potem bo pogoj if res in zanka se bo končala za odmor izjavo.

$ echo | awk 'BEGIN num = 7; END for (i = 3; i<=20; i++)
if (i == num) odmor;
drugače
natisni "Trenutna vrednost i =", i, "\ n"; '

Izhod:

Če je pogoj false za štiri ponovitve, ko je vrednost jaz je 3,4,5 in 6. Tako je za štiri ponovitve natisnjen naslednji izhod.

Primer-5: Uporaba zanke for z izjavo continue

Stavek Continue se uporablja v kateri koli zanki, da izpusti kateri koli stavek na podlagi katerega koli posebnega pogoja. Polje z imenom izdelka je navedeno v naslednjem skriptu. za-v zanka se uporablja za ponavljanje matrike in preverjanje vsake vrednosti z “Pisarniška programska oprema“. Če se vrednost ujema, se bo sporočilo o nedostopnosti natisnilo tako, da bo izpustilo sporočilo za nadaljevanje, sicer se bo sporočilo o nedostopnosti natisnilo. Zaženite skript s terminala.

$ echo | awk 'BEGIN product ["1001"] = "Antivirus";
product ["1002"] = "Pisarniška programska oprema";
product ["1003"] = "Programska oprema za risanje";
product ["1004"] = "HDD";
product ["1005"] = "DVD"; END za (i v izdelku)
if (izdelek [i] == "Pisarniška programska oprema")
tiskani izdelek [i], "ni na voljo \ n";
nadaljuj;

natisni izdelek [i], "je na voljo", "\ n"; '

Izhod:

Po zagonu skripta se prikaže naslednji izhod.

Primer 6: Uporaba zanke for v datoteki awk

Ustvarite besedilno datoteko z imenom prodaje.txt in dodajte naslednjo vsebino, da vadite ta primer.

prodaje.txt

2015 70000
2016 80000
2017 83000
2018 86000
2019 90000

Ustvari datoteko awk z imenom cal_sal.awk z naslednjim skriptom za izračun skupnega zneska prodaje datoteke prodaje.txt. Drugo polje vsebuje letni znesek prodaje v datoteki prodaje.txt. V scenariju, prodaje matrika bo shranila vse vrednosti drugega polja in vsota spremenljivka se inicializira z 0, da se dodajo vse vrednosti prodaje matriko. Naslednji, za-v zanka se uporablja za ponavljanje vsakega elementa prodaje polje in vrednost dodajte z znakom vsota spremenljivka. Nazadnje se izjava print uporabi za tiskanje vrednosti vsota spremenljivka za prikaz celotnega zneska prodaje.

cal_sal.awk


prodaja [i ++] = 2 USD;
vsota = 0;

KONEC
za (i v prodaji)

vsota = vsota + prodaja [i];

natisni "Skupni znesek prodaje =" vsota;

Zaženite naslednji ukaz za izvedbo skripta cal_sal.datoteko awk.

$ awk -f cal_sal.awk prodaja.txt

Izhod:

V arhivu je 5 zapisov prodaje.txt datoteka in vsota zneska prodaje je 409000, ki se natisne po izvedbi skripta.

Zaključek:

V tej vadnici so skušali razložiti različne načine uporabe zanke for v ukazu awk. Upam, da bo bralec dobil jasno idejo o uporabi zanke v skriptu awk in da bo lahko pravilno uporabljal zanko pri programiranju awk.

Kako namestiti League Of Legends na Ubuntu 14.04
Če ste ljubitelj League of Legends, je to priložnost, da preizkusite League of Legends. Upoštevajte, da LOL podpira PlayOnLinux, če uporabljate Linux....
Namestite najnovejšo strategijo igre OpenRA v Ubuntu Linux
OpenRA je Libre / Free Real Time strateški stroj, ki poustvarja zgodnje igre Westwood, kot je klasična Command & Conquer: Red Alert. Porazdeljeni modi...
Namestite najnovejši Dolphin Emulator za Gamecube & Wii v Linux
Dolphin Emulator vam omogoča igranje izbranih iger Gamecube in Wii na osebnih računalnikih Linux (PC). Dolphin Emulator je prosto dostopen in odprtok...