Example -1: Določanje in tiskanje spremenljivke
Ukaz 'awk' za definiranje spremenljivke uporablja možnost '-v'. V tem primeru je myvar spremenljivka je definirana v ukazu 'awk' za shranjevanje vrednosti, “Spremenljivka AWK” ki je natisnjeno kasneje. Zaženite naslednji ukaz s terminala, da preverite izhod.
$ echo | awk -v myvar = 'AWK spremenljivka' 'print myvar'Izhod:
Primer - 2: Uporaba spremenljivke lupine v awk z enim narekovajem in dvojnim narekovajem
Primer prikazuje, kako lahko spremenljivko lupine uporabimo ukaz 'awk'. Tukaj je spremenljivka lupine, myvar je prijavljena z vrednostjo, “Namig za Linux” v prvem ukazu. Simbol '$' se uporablja z imenom spremenljivke lupine za branje vrednosti. Drugi ukaz bere spremenljivko, $ myval z enim narekovajem (') in tretji ukaz bere spremenljivko $ myvar z dvojno narekovajem (“) v stavku' awk '.
$ myvar = "Namig za Linux"$ echo | awk -v awkvar = '$ myvar' 'natisni awkvar; '
$ echo | awk -v awkvar = "$ myvar" 'natisni awkvar; '
Izhod:
V izhodu je prikazano, da vrednosti $ myvar ni mogoče prebrati, če je zaprta z enim narekovajem (') in je izhod $ myvar. Vrednost $ myvar se natisne, ko je priložen z dvojnim narekovajem (“).
Primer - 3: branje spremenljivke ARGC v awk
Spremenljivka ARGC se uporablja za štetje skupnega števila argumentov ukazne vrstice. Tri spremenljivke argumentov ukazne vrstice (t1, t2, t3) so posredovane v naslednjem skriptu awk. Tu je skupno število argumentov s skriptom 4. Zaženite skript s terminala.
$ awk 'BEGIN print "Skupno argumentov =", ARGC' t1 t2 t3Izhod:
Po zagonu skripta se prikaže naslednji izhod.
Primer - 4: Branje vsebine datoteke po spremenljivkah argumentov
Ustvarite besedilno datoteko z imenom stranko.txt z naslednjo vsebino za vadbo tega primera. Tu je vsako polje datoteke ločeno z enim samim zavihek vesolja.
stranko.txt
ID ID103847 John Micheal
209485 Watson
974732 Mira Hossain
Ukaz Awk lahko prebere vsako polje iz poljubne besedilne datoteke po spremenljivkah argumentov. V njem sta dve polji stranko.txt mapa. To sta ID in ime. Naslednji skript bo ti dve polji natisnil po spremenljivkah argumentov, 1 dolar in 2 USD z ločevanjem dveh zavihek prostorih. Zaženite skript s terminala.
$ mačka stranka.txt$ mačka stranka.txt | awk 'print $ 1 "\ t \ t" $ 2;'
Izhod:
Po zagonu zgornjih ukazov se prikaže naslednji izhod.
Primer - 5: Uporaba vgrajene spremenljivke, možnosti FS in ločila polja z ukazom awk
Spremenljivka FS se uporablja v ukazu awk kot ločilo polja. Presledek se uporablja kot privzeta vrednost FS. Naslednji ukaz bo prebral datoteko stranko.txt z uporabo presledka kot ločila polj in natisnite vsebino datoteke. Zaženite ukaz s terminala.
$ awk kupec FS.txtIzhod:
Po zagonu skripta se prikaže naslednji izhod.
Ukaz Awk lahko uporabi druge znake kot ločilo polja z uporabo možnosti '-F'. Ustvarite besedilno datoteko z imenom izdelka.txt z naslednjo vsebino, pri čemer se kot ločilo polja uporablja ':'.
izdelka.txt
101: Torta: 30 dolarjev102: Svinčnik: 5 dolarjev
103: Milo: 3 USD
104: Šampon: 10 USD
V datoteki so tri polja, izdelka.txt ki vsebuje ID izdelka, ime in ceno. Naslednji ukaz awk bo natisnil samo drugo polje vsake vrstice. Zaženite ukaze s terminala.
$ mačji izdelek.txt$ awk -F ':' 'print $ 2' izdelek.txt
Izhod:
Tu je prvi ukaz natisnil vsebino izdelka.txt drugi ukaz pa je natisnil samo drugo polje datoteke.
Primer - 6: Uporaba vgrajene spremenljivke NR z ukazom awk
Spremenljivka NR se uporablja v ukazu awk za štetje skupnega števila zapisov ali vrstic datoteke. Ustvarite besedilno datoteko z imenom študent.txt za preizkus funkcije te spremenljivke.
študent.txt
Ime serijski semesterJanez 20 3
Mira 22 1
Ella 18
Charle 15 8
Naslednji skript awk bo natisnil prve tri vrstice izdelka.txt mapa. Tu se doda pogoj z uporabo spremenljivke NR. Ukaz bo natisnil tiste vrstice, kjer je vrednost NR manjša od 4. Zaženite skript s terminala.
Izhod:
Po zagonu skripta se prikaže naslednji izhod.
$ mačji študent.txt | awk 'NR < 4'
Primer - 7: Uporaba vgrajene spremenljivke NF z ukazom awk
Spremenljivka NF se uporablja v ukazu awk za štetje skupnega števila polj v vsaki vrstici datoteke. Za datoteko je uporabljen naslednji skript awk, študent.txt ki je ustvarjen v prejšnjem primeru. Skript bo natisnil te vrstice iz študent.txt datoteka, pri kateri je skupno polje manj kot 3. Zaženite ukaz s terminala.
$ mačji študent.txt | awk 'NF < 3'Izhod:
V datoteki obstaja samo ena vrstica, pri kateri je skupno število polj manjše od 3 in je natisnjeno kot izhod.
Primer - 8: Uporaba vgrajene spremenljivke OFS z ukazom awk
Spremenljivka OFS se uporablja v ukazu awk za dodajanje ločevalnika izhodnega polja v izhod. izdelka.txt datoteka se v tem primeru uporablja za prikaz spremenljivke OFS. ':' se uporablja kot ločilo polja v izdelku.txt datoteko. Naslednji skript awk je uporabil '->' kot vrednost OFS, druga in tretja polja datoteke pa se bodo natisnila z dodajanjem tega ločila. Zaženite ukaze s terminala.
$ mačji izdelek.txt$ awk -F ':' 'BEGIN OFS = "->"; print $ 2, $ 3;' izdelek.txt
Izhod:
Naslednji izhod se bo natisnil po zagonu ukazov.
Zaključek:
V tej vadnici so poskušali razložiti najpogostejše uporabe spremenljivk awk. Upam, da bo bralec po vadbi v tej vadnici lahko pravilno uporabljal spremenljivke awk v skriptu.