Awk

Kako koristiti for petlju u naredbi awk

Kako koristiti for petlju u naredbi awk
Loop se koristi za izvršavanje nekih izraza više puta. Ponavljanje petlje na temelju uvjeta završetka ili broja elemenata niza. Bilo koji programski jezik podržava tri vrste petlji. For loop je jedan od njih. Petlja for se može deklarirati na dva načina. Petlja Simple for sadrži tri dijela.  A druga for petlja je for-in petlja koja se koristi za ponavljanje bilo kojeg popisa podataka ili niza. Ovaj vodič prikazuje upotrebu ovih dviju vrsta petlji u naredbi awk pomoću različitih primjera.

Sintaksa:

  1. za deklaraciju petlje:
for (inicijalizacija; uvjet prekida; priraštaj / smanjenje)
izjave

Prvi dio koristi se za inicijalizaciju varijable za pokretanje za petlja. Drugi dio sadrži uvjet prekida za kontrolu iteracije petlje i petlja će se nastaviti dok uvjet nije istinit. Posljednji će dio povećavati ili smanjivati ​​inicijalizacijsku varijablu na temelju prvog dijela.

  1. for-in deklaracija
za (varijabla u nizu / popisu)
izjave

za-in petlja se koristi za one zadatke u kojima broj iteracija petlje nije fiksiran. za-in petlja uglavnom se koristi za raščlanjivanje niza ili popisa podataka. Petlja čita sve podatke iz niza ili popisa i pohranjuje vrijednost u varijablu u svakoj iteraciji.

Primjer-1: Korištenje jednostavne for petlje

U sljedećoj skripti koristi se jednostavna petlja for. Ovdje, brojač varijabla inicijalizira se s 10, a petlja će se završiti kada vrijednost brojač je manje od 5. Skripta će ispisati brojač vrijednosti od 10 do 5. Pokrenite naredbu s terminala.

$ echo | awk 'for (brojač = 10; brojač> = 5; brojač--)
print "Trčanje za", brojač, "puta."," \ n "; '

Izlaz:

Sljedeći će se izlaz pojaviti nakon izvršavanja naredbe.

Primjer-2: Korištenje for-in petlje za čitanje niza

Polje s imenom Kupac deklarirano je u sljedećoj skripti gdje je Kupac iskaznica postavlja se kao indeks niza i kao korisnički Ime postavlja se kao vrijednost polja. za-in Petlja se ovdje koristi za iteraciju svakog indeksa iz niza i ispis imena kupca. Pokrenite skriptu s terminala.

$ echo | awk 'BEGIN Kupac ["4587"] = "Neil Johnson";
Kupac ["8953"] = "Ella binte Nazir";
Kupac ["3455"] = "Bruce Hyslop";
Kupac ["6335"] = "Isabella";
 
END for (i u Korisniku)
ispis "Ime", i, "je", kupac [i]
'

Izlaz:

Sljedeći će se izlaz pojaviti nakon izvršavanja skripte.

Primjer-3: Korištenje ugniježđene for petlje

Kad se for petlja deklarira pod drugom for petljom, tada se naziva ugniježđena for petlja. Vanjska petlja koja se koristi u ovoj skripti ponovit će se 2 puta, a unutarnja petlja 3 puta. Dakle, ispis za izvršavanje izvršiće se, (2X3 = 6) 6 puta. Pokrenite skriptu s terminala.

$ echo | awk 'END for (i = 1; i<=2; i++)
za (j = 1; j<=3; j++)
ispis "Iteracijski redak", i, "i stupac", j, "\ n"; '

Izlaz:

Sljedeći će se izlaz pojaviti nakon pokretanja skripte.

Primjer-4: Upotreba for petlje s naredbom break

pauza naredba se koristi u bilo kojoj petlji za prekidanje petlje prije postizanja uvjeta prekida na temelju određenog uvjeta. U sljedećoj skripti, for petlja započinje s 3 i završava kad vrijednost ja je veće od 20. Ali kad vrijednost ja bit će jednaka varijabli num tada će uvjet if biti istinit i petlja će se završiti za pauza izjava.

$ echo | awk 'POČINI num = 7; END za (i = 3; i<=20; i++)
if (i == num) break;
drugo
ispis "Trenutna vrijednost i =", i, "\ n"; '

Izlaz:

Ovdje je, ako je uvjet lažan za četiri ponavljanja kada vrijednost ja je 3,4,5 i 6. Dakle, sljedeći se izlaz ispisuje za četiri ponavljanja.

Primjer-5: Korištenje for petlje s naredbom continue

Izvještaj Continue koristi se u bilo kojoj petlji da bi se izostavio bilo koji izraz na temelju bilo kojeg određenog uvjeta. Niz imenovan proizvod je deklarirano u sljedećoj skripti. za-in petlja koristi se za iteraciju niza i provjeru svake vrijednosti s “Uredski softver“. Ako se vrijednost podudara, ispisat će se nedostupna poruka izostavljanjem dostupne poruke za nastavak, inače će se ispisati nedostupna poruka. Pokrenite skriptu s terminala.

$ echo | awk 'BEGIN product ["1001"] = "Antivirus";
product ["1002"] = "Uredski softver";
product ["1003"] = "Softver za crtanje";
product ["1004"] = "HDD";
product ["1005"] = "DVD"; END za (i u proizvodu)
if (proizvod [i] == "Uredski softver")
ispisni proizvod [i], "nije dostupan \ n";
nastaviti;

ispis proizvoda [i], "dostupan je", "\ n"; '

Izlaz:

Sljedeći će se izlaz pojaviti nakon pokretanja skripte.

Primjer 6: Korištenje for petlje u awk datoteci

Stvorite tekstualnu datoteku s imenom prodajni.txt i dodajte sljedeći sadržaj za vježbanje ovog primjera.

prodajni.txt

2015. 70000
2016 80000
2017. 83000
2018 86000
2019 90000

Stvorite awk datoteku s imenom cal_sal.awk sa sljedećom skriptom za izračunavanje ukupnog iznosa prodaje datoteke prodajni.txt. Drugo polje sadrži godišnji iznos prodaje u datoteci prodajni.txt. U scenariju, Prodaja polje će pohraniti sve vrijednosti drugog polja i iznos varijabla se inicijalizira s 0 da bi se dodale sve vrijednosti prodajni niz. Sljedeći, za-in petlja koristi se za ponavljanje svakog elementa Prodaja niz i dodajte vrijednost znakom iznos varijabilna. Na kraju, ispisni iskaz koristi se za ispis vrijednosti iznos varijabla za prikaz ukupnog iznosa prodaje.

cal_sal.awk


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

KRAJ
za (i u prodaji)

zbroj = zbroj + prodaja [i];

ispis "Ukupni iznos prodaje =" zbroj;

Pokrenite sljedeću naredbu za izvršavanje skripte cal_sal.awk datoteku.

$ awk -f cal_sal.awk prodaja.txt

Izlaz:

Postoji 5 zapisa u prodajni.txt i zbroj iznosa prodaje iznosi 409000 koji se ispisuje nakon izvršavanja skripte.

Zaključak:

U ovom vodiču pokušano je objasniti različite namjene for petlje u naredbi awk. Nadam se da će čitatelj dobiti jasnu ideju o korištenju for petlje u awk skripti i da će je moći pravilno koristiti u awk programiranju.

Kako instalirati i igrati Doom na Linuxu
Uvod u Doom Serija Doom nastala je 90-ih nakon izlaska originalnog Dooma. To je bio trenutni hit i od tog vremena nadalje igraća serija dobila je broj...
Vulkan za korisnike Linuxa
Sa svakom novom generacijom grafičkih kartica vidimo da programeri igara pomiču granice grafičke vjernosti i dolaze na korak od fotorealizma. No, bez ...
OpenTTD vs Simutrans
Stvaranje vlastite simulacije prijevoza može biti zabavno, opuštajuće i izuzetno primamljivo. Zbog toga morate isprobati što više igara kako biste pro...