Eprimjer -1: Definiranje i ispis varijable
naredba 'awk' koristi opciju '-v' za definiranje varijable. U ovom primjeru, myvar varijabla je definirana u naredbi 'awk' za pohranu vrijednosti, “AWK varijabla” koji se kasnije tiska. Pokrenite sljedeću naredbu s terminala da provjerite izlaz.
$ echo | awk -v myvar = 'AWK varijabla' 'ispis myvar'Izlaz:
Primjer - 2: Korištenje ljuske varijable u awk s jednim navodnikom i dvostrukim navodnikom
Primjer pokazuje kako se varijabla ljuske može koristiti naredbom 'awk'. Ovdje, varijabla ljuske, myvar se deklarira s vrijednošću, "Linux savjet" u prvoj naredbi. Simbol '$' koristi se s imenom varijable ljuske za čitanje vrijednosti. Druga naredba čita varijablu, $ myval s jednim navodnikom ('), a treća naredba čita varijablu $ myvar s dvostrukim navodnikom (“) u izjavi' awk '.
$ myvar = "Linux savjet"$ echo | awk -v awkvar = '$ myvar' 'ispis awkvar; '
$ echo | awk -v awkvar = "$ myvar" 'ispis awkvar; '
Izlaz:
U izlazu je prikazano da se vrijednost $ myvar ne može pročitati kada je zatvorena jednim navodnikom ('), a izlaz je $ myvar. Vrijednost $ myvar ispisuje se kad je priložen dvostrukim navodnikom (“).
Primjer - 3: Čitanje ARGC varijable u awk
ARGC varijabla koristi se za brojanje ukupnog broja argumenata naredbenog retka. Tri varijable argumenta naredbenog retka (t1, t2, t3) prosljeđuju se u sljedećoj skripti awk. Ovdje je ukupan broj argumenata sa skriptom 4. Pokrenite skriptu s terminala.
$ awk 'BEGIN print "Ukupno argumenata =", ARGC' t1 t2 t3Izlaz:
Sljedeći će se izlaz pojaviti nakon pokretanja skripte.
Primjer - 4: Čitanje sadržaja datoteke pomoću varijabli argumenta
Stvorite tekstualnu datoteku s imenom kupac.txt sa sljedećim sadržajem za vježbanje ovog primjera. Ovdje je svako polje datoteke odvojeno jednim tab prostor.
kupac.txt
ID ID103847 John Micheal
209485 Watson
974732 Mira Hossain
Naredba Awk može čitati svako polje iz bilo koje tekstualne datoteke pomoću varijabli argumenta. Postoje dva polja u kupac.txt datoteka. To su ID i Ime. Sljedeća skripta ispisat će ova dva polja prema varijablama argumenata, 1 USD i 2 dolara odvajanjem dva tab prostore. Pokrenite skriptu s terminala.
$ mačka kupac.txt$ mačka kupac.txt | awk 'ispiši $ 1 "\ t \ t" $ 2;'
Izlaz:
Sljedeći će se izlaz pojaviti nakon pokretanja gornjih naredbi.
Primjer 5: Korištenje ugrađene varijable, FS i opcije razdvajanja polja s naredbom awk
FS varijabla koristi se u naredbi awk kao odvajač polja. Razmak se koristi kao zadana vrijednost FS. Sljedeća naredba će pročitati datoteku kupac.txt koristeći razmak kao razdjelnik polja i ispisati sadržaj datoteke. Pokrenite naredbu s terminala.
$ awk FS kupac.txtIzlaz:
Sljedeći će se izlaz pojaviti nakon pokretanja skripte.
Naredba Awk može koristiti druge znakove kao odvajač polja pomoću opcije '-F'. Stvorite tekstualnu datoteku s imenom proizvod.txt sa sljedećim sadržajem gdje se ':' koristi kao odvajač polja.
proizvod.txt
101: Torta: 30 dolara102: Olovka: 5 dolara
103: Sapun: 3 dolara
104: Šampon: 10 dolara
U datoteci se nalaze tri polja, proizvod.txt koja sadrži ID proizvoda, naziv i cijenu. Sljedeća naredba awk ispisat će samo drugo polje svakog retka. Pokrenite naredbe s terminala.
$ mačji proizvod.txt$ awk -F ':' 'print $ 2' proizvod.txt
Izlaz:
Ovdje je prva naredba ispisala sadržaj proizvod.txt a druga naredba ispisala je samo drugo polje datoteke.
Primjer - 6: Korištenje ugrađene varijable, NR s naredbom awk
NR varijabla koristi se u naredbi awk za brojanje ukupnog broja zapisa ili redaka datoteke. Stvorite tekstualnu datoteku s imenom student.txt za testiranje funkcije ove varijable.
student.txt
Naziv šaržnog semestraIvan 20 3
Mira 22 1
Ella 18
Charle 15 8
Sljedeća skripta awk ispisat će prva tri retka proizvod.txt datoteka. Ovdje se dodaje uvjet korištenjem NR varijable. Naredba će ispisati one retke u kojima je vrijednost NR manja od 4. Pokrenite skriptu s terminala.
Izlaz:
Sljedeći će se izlaz pojaviti nakon pokretanja skripte.
$ mačka student.txt | awk 'NR < 4'
Primjer - 7: Korištenje ugrađene varijable, NF s naredbom awk
NF varijabla koristi se u naredbi awk za brojanje ukupnog broja polja u svakom retku datoteke. Sljedeća skripta awk primjenjuje se na datoteku, student.txt koja je stvorena u prethodnom primjeru. Skripta će ispisati te retke iz student.txt datoteka u kojoj su ukupna polja manja od 3. Pokrenite naredbu s terminala.
$ mačka student.txt | awk 'NF < 3'Izlaz:
U datoteci postoji samo jedan redak u kojem je ukupan broj polja manji od 3 koji se ispisuje kao izlaz.
Primjer - 8: Korištenje ugrađene varijable, OFS s naredbom awk
OFS varijabla koristi se u naredbi awk za dodavanje separatora izlaznog polja u izlaz. proizvod.txt datoteka koristi se u ovom primjeru za prikaz upotrebe OFS varijable. ':' koristi se kao separator polja u proizvodu.txt datoteku. Sljedeća skripta awk upotrijebila je '->' kao OFS vrijednost, a drugo i treće polje datoteke ispisat će se dodavanjem ovog separatora. Pokrenite naredbe s terminala.
$ mačji proizvod.txt$ awk -F ':' 'POČINITE OFS = "->"; print $ 2, $ 3;' proizvod.txt
Izlaz:
Sljedeći će se izlaz ispisati nakon pokretanja naredbi.
Zaključak:
U ovom su uputstvu pokušali objasniti najčešće upotrebe awk varijabli. Nadam se da će čitatelj nakon vježbanja ovog vodiča moći pravilno koristiti awk varijable u skripti.