20 ägedat näidet

20 Awk Examples



Linuxi operatsioonisüsteemis on palju utiliite tekstiandmetest või failist aruande otsimiseks ja genereerimiseks. Kasutaja saab hõlpsasti teha mitmesuguseid otsingu-, asendus- ja aruande genereerimise ülesandeid, kasutades käske awk, grep ja sed. awk pole lihtsalt käsk. See on skriptikeel, mida saab kasutada nii terminalist kui ka awk -failist. See toetab muutujat, tingimuslauset, massiivi, silmuseid jne nagu teised skriptikeeled. See saab lugeda rida realt mis tahes faili sisu ja eraldada väljad või veerud konkreetse eraldaja alusel. Samuti toetab see regulaaravaldist teksti sisust või failist teatud stringi otsimiseks ja võtab meetmeid, kui mõni vaste leitakse. Kuidas saate käsku awk ja skripti kasutada, on selles õpetuses näidatud 20 kasuliku näite abil.

Sisu:

  1. awk printfiga
  2. awk jagada tühjale kohale
  3. awk eraldaja vahetamiseks
  4. awk tabeldusmärgiga eraldatud andmetega
  5. awk csv andmetega
  6. awk regulaaravaldis
  7. awk tõstutundetu regulaaravaldis
  8. awk muutujaga nf (väljade arv)
  9. awk gensub () funktsioon
  10. awk funktsiooniga rand ()
  11. awk kasutaja määratud funktsioon
  12. awk kui
  13. awk muutujad
  14. awk massiivid
  15. awk loop
  16. awk esimese veeru printimiseks
  17. awk viimase veeru printimiseks
  18. awk koos grepiga
  19. awk bash -skriptifailiga
  20. awk koos sed

Awk kasutamine printf -iga

printf () funktsiooni kasutatakse mis tahes väljundi vormindamiseks enamikus programmeerimiskeeltes. Seda funktsiooni saab kasutada koos awk käsk erinevat tüüpi vormindatud väljundite genereerimiseks. käsku awk kasutatakse peamiselt mis tahes tekstifaili jaoks. Looge tekstifail nimega töötaja.txt allpool toodud sisuga, kus väljad on vahekaardiga eraldatud („ t”).







töötaja.txt



1001 John sena 40000
1002 Jafar Iqbal 60000
1003 Meher Nigar 30000
1004 Jonny maks 70000

Järgmine käsk awk loeb andmeid töötaja.txt fail rida realt ja printige pärast vormindamist esimene fail. Siin, %10 s n tähendab, et väljund on 10 tähemärki pikk. Kui väljundi väärtus on alla 10 tähemärgi, lisatakse tühikud väärtuse ette.



$ awk'{printf'%10s n', 1 dollar'töötaja.txt

Väljund:





Avage Sisu



awk jagada tühjale kohale

Sõnade või väljade eraldaja vaikimisi mis tahes teksti jagamiseks on tühik. käsk awk võib teksti väärtust sisestada mitmel viisil. Sisendtekst edastatakse viskas välja käsku järgmises näites. Tekst, ' Mulle meeldib programmeerimine Jagatakse vaikimisi eraldajaks, ruumi ja kolmas sõna prinditakse väljundina.

$viskas välja 'Mulle meeldib programmeerimine' | awk „{print $ 3}”

Väljund:

Avage Sisu

awk eraldaja vahetamiseks

awk käsku saab kasutada mis tahes failisisu eraldaja muutmiseks. Oletame, et teil on tekstifail nimega telefon.txt järgmise sisuga, kus faili sisu väljade eraldajana kasutatakse „:”.

telefon.txt

+123: 334: 889: 778
+880: 1855: 456: 907
+9: 7777: 38644: 808

Eraldaja muutmiseks käivitage järgmine käsk awk, ':' kõrval '-' faili sisule, telefon.txt .

$ cat phone.txt
$ awk '$ 1 = $ 1' FS = ':' OFS = '-' phone.txt

Väljund:

Avage Sisu

awk tabeldusmärgiga eraldatud andmetega

käsul awk on palju sisseehitatud muutujaid, mida kasutatakse teksti lugemiseks erineval viisil. Kaks neist on FS ja OFS . FS on sisendvälja eraldaja ja OFS on väljundvälja eraldaja muutujad. Nende muutujate kasutusviise on näidatud selles jaotises. Loo vahekaart eraldatud fail nimega input.txt järgmise kasutusalaga testimiseks FS ja OFS muutujad.

Input.txt

Kliendipoolne skriptikeel
Serveripoolne skriptikeel
Andmebaasiserver
Veebiserver

Muutuja FS abil vahekaardiga

Järgmine käsk jagab iga rea input.txt vahekaardil põhinev fail („ t”) ja printige iga rea ​​esimene väli.

$awk „{print $ 1}” FS=' t'input.txt

Väljund:

Muutuja OFS kasutamine vahekaardiga

Järgmine käsk awk prindib 9th ja 5th väljad 'Ls -l' käsu väljund tabulaatoriga pärast veeru pealkirja printimist Nimi ja Suurus . Siin, OFS muutujat kasutatakse väljundi vormindamiseks vahelehe abil.

$ls -neid
$ls -neid | awk -v OFS=' t' 'BEGIN {printf'%s t%s n ',' Name ',' Size '} {print $ 9, $ 5}'

Väljund:

Avage Sisu

awk CSV andmetega

Mis tahes CSV -faili sisu saab käsuga awk mitmel viisil sõeluda. Looge CSV -fail nimega „ klient.csv Järgmise käsuga awk käsu rakendamiseks.

klient.txt

Id, nimi, e -post, telefon
1, Sophia, [email protected], (862) 478-7263
2, Amelia, [kaitstud e-postiga], (530) 764-8000
3, Emma, ​​[kaitstud e-postiga], (542) 986-2390

CSV -faili ühe välja lugemine

'-F' suvandit kasutatakse käsuga awk, et määrata iga faili rea eraldamiseks eraldaja. Järgmine käsk awk prindib nimi väli klient.csv faili.

$kassklient.csv
$awk -F ',' „{print $ 2}”klient.csv

Väljund:

Mitme välja lugemine, kombineerides seda muu tekstiga

Järgmine käsk prindib kolm välja klient.csv pealkirja teksti kombineerides, Nimi, e -post ja telefon . Esimene rida klient.csv fail sisaldab iga välja pealkirja. EI muutuja sisaldab faili reanumbrit, kui käsk awk parsib faili. Selles näites NR muutujat kasutatakse faili esimese rea väljajätmiseks. Väljund näitab 2nd, 3rdja 4thkõigi ridade väljad, välja arvatud esimene rida.

$awk -F ',' 'NR> 1 {print' Name: '$ 2', Email: '$ 3', Phone: '$ 4}'klient.csv

Väljund:

CSV -faili lugemine awk -skripti abil

awk -skripti saab käivitada, käivitades faili awk. Selles näites on näidatud, kuidas luua awk -faili ja seda käivitada. Looge fail nimega awkcsv.awk järgmise koodiga. ALUSTA märksõna kasutatakse skriptis, et teavitada käsku awk skripti täitmiseks ALUSTA osa enne muude ülesannete täitmist. Siin on väljade eraldaja ( FS ) kasutatakse jagava eraldusmärgi määratlemiseks ja 2ndja 1stväljad prinditakse vastavalt printf () funktsioonis kasutatud vormingule.

awkcsv.awk
ALUSTA{FS= ','} { printf '% 5s (% s) n',$2,$1}

Jookse awkcsv.awk faili sisuga klient.csv faili järgmise käsuga.

$awk -fawkcsv.awk klient.csv

Väljund:

Avage Sisu

awk regulaaravaldis

Regulaaravaldis on muster, mida kasutatakse teksti mis tahes stringi otsimiseks. Regulaaravaldist kasutades saab hõlpsasti teha erinevat tüüpi keerulisi otsingu- ja asendusülesandeid. Selles jaotises on toodud mõned tavalise avaldise lihtsad kasutusviisid käsuga awk.

Sobiv tegelaneseatud

Järgmine käsk sobib sõnaga Loll või narr või Lahe sisestusstringi abil ja printige, kui sõna leiab. Siin, Nukk ei ühti ja ei prindi.

$printf 'Loll nLahe nNukk nbool ' | awk '/[FbC] ool/'

Väljund:

Stringi otsimine rea alguses

'^' sümbolit kasutatakse regulaaravaldises, et otsida mis tahes mustrit rea alguses. ' Linux ' sõna otsitakse järgmises näites iga teksti rea alguses. Siin algab kaks rida tekstiga, 'Linux 'Ja need kaks rida kuvatakse väljundis.

$viskas välja -Ja 'Linux on tasuta kasutamiseks nSee on avatud lähtekoodiga tarkvara nLinuxHint on
populaarne ajaveebisait '
| awk '/^Linux/'

Väljund:

Otsitakse stringi rea lõpus

'$' sümbolit kasutatakse regulaaravaldises, et otsida mis tahes mustrit teksti iga rea ​​lõpus. ' Stsenaarium 'Sõna otsitakse järgmises näites. Siin on kaks rida sõna, Stsenaarium rea lõpus.

$viskas välja -Ja 'PHP skript nJavaScript nVisuaalne programmeerimine ' | awk '/Skript $/'

Väljund:

Otsimine, jättes konkreetse märgistiku välja

'^' sümbol tähistab teksti algust, kui seda kasutatakse mis tahes stringimustri ees (‘ / ^… /’) või enne mis tahes märgistikku, mille on deklareerinud ^ […] . Kui '^' sümbolit kasutatakse kolmanda sulu sees, [^…], siis jäetakse sulgudes olev märgikomplekt otsingu tegemisel välja. Järgmine käsk otsib sõna, mis ei alga tähega 'F' aga lõpetades ' ool '. Lahe ja bool trükitakse vastavalt mustrile ja tekstiandmetele.

$ printf 'Loll nLahe nNukk nbool ' |awk' / [^ F] ool /'

Väljund:

Avage Sisu

awk tõstutundetu regulaaravaldis

Vaikimisi otsib regulaaravaldis tõstutundlikke otsinguid, kui otsitakse stringi mis tahes mustrit. Väiketähtede suhtes tundlikku otsingut saab teha käsuga awk regulaaravaldisega. Järgmises näites alla laskma () funktsiooni kasutatakse väiketähtedeta otsingu tegemiseks. Siin teisendatakse sisendteksti iga rea ​​esimene sõna, kasutades selleks väiketähti alla laskma () funktsiooni ja sobituvad regulaaravaldise mustriga. üles () funktsiooni saab kasutada ka sel eesmärgil, sel juhul tuleb muster määratleda suure algustähega. Järgmises näites määratletud tekst sisaldab otsingusõna, 'Võrk ”Kahel real, mis trükitakse väljundina.

$viskas välja -Ja 'Veebidisain nVeebiarendus nRaamistik ' | awk 'tolower ($ 0) ~ /^web /;'

Väljund:

Avage Sisu

awk koos muutujaga NF (väljade arv)

NF on sisseehitatud muutuja käsust awk, mida kasutatakse väljade koguarvu lugemiseks sisendteksti igal real. Looge mis tahes tekstifail, millel on mitu rida ja mitu sõna. fail input.txt Siin kasutatakse faili, mis on loodud eelmises näites.

Kasutades käsurealt NF -i

Siin kasutatakse esimese käsu sisu kuvamiseks input.txt faili ja teist käsku kasutatakse, et näidata väljade koguarvu faili igal real, kasutades NF muutuja.

$ cat input.txt
$ awk '{print NF}' input.txt

Väljund:

NF kasutamine awk -failis

Looge awk -fail nimega loe.wak allpool toodud skriptiga. Kui see skript käivitatakse mis tahes tekstiandmetega, prinditakse väljundina iga rea ​​sisu koos kõigi väljadega.

loe.wak

{trükkida $0}
{printida'[Välju kokku:'NF']'}

Käivitage skript järgmise käsuga.

$awk -fcount.awk input.txt

Väljund:

Avage Sisu

awk gensub () funktsioon

getsub () on asendusfunktsioon, mida kasutatakse stringide otsimiseks konkreetse eraldaja või regulaaravaldise mustri alusel. See funktsioon on määratletud 'Nägu' pakett, mis pole vaikimisi installitud. Selle funktsiooni süntaks on toodud allpool. Esimene parameeter sisaldab regulaaravaldise mustrit või otsingu eraldajat, teine ​​parameeter sisaldab asendusteksti, kolmas parameeter näitab, kuidas otsingut tehakse, ja viimane parameeter sisaldab teksti, milles seda funktsiooni rakendatakse.

Süntaks:

gensub(regexp, asendamine, kuidas[, sihtmärk])

Installimiseks käivitage järgmine käsk näkk pakett kasutamiseks getsub () funktsioon awk käsuga.

$ sudo apt-get install gawk

Looge tekstifail nimega ' salesinfo.txt ”Selle näite harjutamiseks järgmise sisuga. Siin on väljad vahekaardiga eraldatud.

salesinfo.txt

Minu 700 000
Teie 800 000
K 750000
Koguge 200 000
P 430000
L 820000

Rakenduse numbriväljade lugemiseks käivitage järgmine käsk salesinfo.txt faili ja printige kogu müügisumma. Siin näitab kolmas parameeter „G” globaalset otsingut. See tähendab, et mustrit otsitakse faili täielikust sisust.

$awk '{x = gensub (' t ',' ',' G ', 2 dollarit); printf x '+'} LÕPP {print 0} 'salesinfo.txt| bc -neid

Väljund:

Avage Sisu

awk funktsiooniga rand ()

rida () funktsiooni kasutatakse mis tahes juhusliku arvu genereerimiseks, mis on suurem kui 0 ja väiksem kui 1. Seega genereerib see alati murdarvu, mis on väiksem kui 1. Järgmine käsk genereerib murdosa juhusliku arvu ja korrutab väärtuse 10 -ga, et saada arv rohkem kui 1. Funktsiooni printf () rakendamiseks prinditakse murdosa, mis koosneb kahest numbrist pärast koma. Kui käivitate järgmise käsu mitu korda, saate iga kord erineva väljundi.

$awk 'BEGIN {printf' Number on =%. 2f n ', rand ()*10}'

Väljund:

Avage Sisu

awk kasutaja määratud funktsioon

Kõik eelnevates näidetes kasutatud funktsioonid on sisseehitatud funktsioonid. Kuid mis tahes konkreetse ülesande täitmiseks võite oma awk-skriptis deklareerida kasutaja määratud funktsiooni. Oletame, et soovite luua kohandatud funktsiooni ristküliku pindala arvutamiseks. Selle ülesande täitmiseks looge fail nimega ' ala.wak 'Järgmise skriptiga. Selles näites on kasutaja määratud funktsioon nimega ala () deklareeritakse skriptis, mis arvutab pindala sisendparameetrite põhjal ja tagastab pindala väärtuse. getline käsku kasutatakse siin kasutajalt sisendi võtmiseks.

ala.wak

# Arvutage pindala
funktsioonipiirkonnas(kõrgus,laius){
tagasikõrgus*laius
}

# Alustab täitmist
ALUSTA{
printida'Sisestage kõrguse väärtus:'
getline h< '-'
printida'Sisestage laiuse väärtus:'
getline w< '-'
printida'Piirkond ='piirkonnas(h,sisse)
}

Käivitage skript.

$awk -fala.wak

Väljund:

Avage Sisu

awk kui näide

awk toetab tingimuslauseid nagu teisedki standardsed programmeerimiskeeled. Selles jaotises näidatakse kolme tüüpi if -lauseid, kasutades kolme näidet. Looge tekstifail nimega items.txt järgmise sisuga.

items.txt

Kõvaketas Samsung 100 dollarit
Hiir A4Tech
Printer HP 200 dollarit

Lihtne kui näide :

järgnev käsk loeb selle sisu items.txt fail ja kontrollige 3rd välja väärtus igal real. Kui väärtus on tühi, prindib see veateate koos reanumbriga.

$awk '{if ($ 3 ==' ') print' Hinnaväli puudub real 'NR}'items.txt

Väljund:

kui-muu näide:

Järgmine käsk prindib kauba hinna, kui 3rdväli on reas olemas, vastasel juhul prindib see veateate.

$ awk'{if ($ 3 ==' ') print' Hinnaväli puudub '
muul juhul prindi üksuse hind on $ 3}
esemeid.txt

Väljund:

kui-muidu-kui näide:

Kui terminalist käivitatakse järgmine käsk, võtab see kasutajalt sisendi. Sisendväärtust võrreldakse iga tingimusega, kui tingimus on tõene. Kui mõni tingimus saab tõeks, trükitakse see vastav hinne. Kui sisendväärtus ei vasta ühelegi tingimusele, prinditakse see ebaõnnestunult.

$awk 'BEGIN {print' Sisestage märk: '
getline märk<'-'
kui (märk> = 90) printige „A+”
muidu, kui (märk> = 80) prindi 'A'
muidu, kui (märk> = 70) printige 'B+'
muidu printige 'Ebaõnnestunud'} '

Väljund:

Avage Sisu

awk muutujad

Muutuja awk deklareerimine sarnaneb shelli muutuja deklaratsiooniga. Muutuja väärtuse lugemisel on erinevus. Väärtuse lugemiseks kasutatakse sümbolit „$” koos kestamuutuja muutuja nimega. Kuid väärtuse lugemiseks pole vaja kasutada muutujaga „$” koos muutujaga awk.

Lihtsa muutuja kasutamine:

Järgmine käsk kuulutab muutuja nimega 'Sait' ja sellele muutujale määratakse stringi väärtus. Muutuja väärtus trükitakse järgmisesse avaldusse.

$awk 'BEGIN {site =' LinuxHint.com '; prindi sait} '

Väljund:

Muutuja kasutamine failist andmete toomiseks

Järgmine käsk otsib sõna 'Printer' failis items.txt . Kui mõni faili rida algab tähega 'Printer 'Siis salvestab see väärtuse 1st , 2nd ja 3rd väljad kolmeks muutujaks. nimi ja hind muutujad trükitakse.

$ awk'/ Printer/ {name = $ 1; brand = 2 $; price = 3 $; print' item name = 'name;
print 'kauba hind =' hind} '
esemeid.txt

Väljund:

Avage Sisu

awk massiivid

Nii numbrilisi kui ka nendega seotud massiive saab awk -is kasutada. Massiivi muutujadeklaratsioon awk -s on teiste programmeerimiskeeltega sama. Selles jaotises on näidatud mõningaid massiivide kasutusviise.

Assotsiatiivne massiiv:

Massiivi indeks on mis tahes string assotsiatiivse massiivi jaoks. Selles näites deklareeritakse ja trükitakse kolmest elemendist koosnev assotsiatiivne massiiv.

$awk 'BEGIN {
books ['Web Design'] = 'HTML5 õppimine';
books ['Web Programming'] = 'PHP ja MySQL'
books ['PHP Framework'] = 'Õppides Laravel 5'
printf '%s n%s n%s n', raamatud ['Web Design'], raamatud ['Web Programming'],
raamatud ['PHP Framework']} '

Väljund:

Numbriline massiiv:

Kolmest elemendist koosnev numbriline massiiv deklareeritakse ja prinditakse eraldusmärgiga.

$ awk'BEGIN {
number [0] = 80;
number [1] = 55;
number [2] = 76;

# printmassiivi elementi
printf 'Massiivi väärtused: %d t%d t%d n', number [0], number [1], number [2]; } '

Väljund:

Avage Sisu

awk loop

Awk toetab kolme tüüpi silmuseid. Nende silmuste kasutusviise on siin näidatud kolme näite abil.

Silmus:

samas kui järgmises käsus kasutatav silmus kordab 5 korda ja väljub tsüklist break -avalduse jaoks.

$ awk „ALGUS {n = 1; samas (n 5) murda; print n; n ++}} '

Väljund:

Silmus:

Järgmises käsus awk kasutatav silmus arvutab summa vahemikus 1 kuni 10 ja prindib selle väärtuse.

$awk 'ALGUS {summa = 0; jaoks (n = 1; n<= 10; n++) sum=sum+n; print sum }'

Väljund:

Tegevusahel:

järgmise käsu tegemise tsükkel prindib kõik paarisarvud vahemikus 10 kuni 5.

$awk 'ALGUS {loendur = 10; do {if (loendur%2 == 0) printi loendur; loendur-}
samas (loendur> 5)} '

Väljund:

Avage Sisu

awk esimese veeru printimiseks

Iga faili esimese veeru saab printida, kasutades muutujat $ 1 awk -s. Aga kui esimese veeru väärtus sisaldab mitut sõna, trükitakse ainult esimese veeru esimene sõna. Spetsiifilise eraldaja abil saab esimese veeru korralikult printida. Looge tekstifail nimega õpilased.txt järgmise sisuga. Siin sisaldab esimene veerg kahe sõna teksti.

Õpilased.txt

Kaniz Fatema 30thpartii
Abir Hossain 35thpartii
Johannes Aabraham 40thpartii

Käivitage käsk awk ilma eraldajata. Trükitakse esimese veeru esimene osa.

$awk „{print $ 1}”õpilased.txt

Käivitage awk käsk järgmise eraldajaga. Esimese veeru täielik osa trükitakse.

$awk -F '\ s \ s' „{print $ 1}”õpilased.txt

Väljund:

Avage Sisu

awk viimase veeru printimiseks

$ (NF) muutujat saab kasutada mis tahes faili viimase veeru printimiseks. Järgmised awk -käsud prindivad välja viimase osa ja viimase veeru täieliku osa õpilased.txt faili.

$awk '{print $ (NF)}'õpilased.txt
$awk -F '\ s \ s' '{print $ (NF)}'õpilased.txt

Väljund:

Avage Sisu

awk koos grepiga

grep on Linuxi teine ​​kasulik käsk otsida failist sisu mis tahes regulaaravaldise alusel. Järgmises näites on näidatud, kuidas saab käske awk ja grep koos kasutada. haaret käsku kasutatakse töötaja ID teabe otsimiseks, ' 1002 ’Pärit töötaja.txt faili. Käsu grep väljund saadetakse sisendandmetena aadressile awk. 5% boonust loetakse ja trükitakse töötaja ID palga alusel, ' 1002 ' awk käsul.

$kasstöötaja.txt
$haaret „1002”töötaja.txt| awk -F ' t' '{print $ 2' saab $ '($ 3*5)/100' boonust '}'

Väljund:

Avage Sisu

awk koos BASH -failiga

Nagu muud Linuxi käsud, saab käsku awk kasutada ka BASH -skriptis. Looge tekstifail nimega customers.txt järgmise sisuga. Selle faili iga rida sisaldab teavet nelja välja kohta. Need on kliendi ID, nimi, aadress ja mobiilinumber, mis on üksteisest eraldatud ‘/ '.

customers.txt

AL4934 / Charles M Brunner / 4838 Beeghley Street, Huntsville, Alabama / 256-671-7942
CA5455 / Virginia S Mota / 930 Bassel Street, VALLECITO, California / 415-679-5908
IL4855 / Ann A Neale / 1932 Patterson Fork Road, Chicago, Illinois / 773-550-5107

Looge bash -fail nimega item_search.bash järgmise skriptiga. Selle skripti kohaselt võetakse olekuväärtus kasutajalt ja otsitakse sealt sisse kliendid.txt faili autor haaret käsk ja edastati sisendina käsule awk. Käsk Awk loeb 2nd ja 4th iga rea ​​väljad. Kui sisendväärtus sobib oleku väärtusega customers.txt faili, siis prindib see kliendi oma nimi ja mobiili number , vastasel juhul prindib see sõnumi Klienti ei leitud .

item_search.bash

#!/bin/bash
viskas välja 'Sisestage osariigi nimi:'
loeosariik
klientidele=''haaret '$ osariik'customers.txt| awk -F '/' '{print' Kliendi nimi: '$ 2,',
Mobiilinumber: $ 4}
''
kui [ '$ kliente' !='' ];siis
viskas välja $ kliente
muidu
viskas välja 'Kliente ei leitud'
olla

Väljundite kuvamiseks käivitage järgmised käsud.

$kasscustomers.txt
$löömaitem_search.bash

Väljund:

Avage Sisu

awk koos sed

Teine kasulik Linuxi otsimisvahend on sed . Seda käsku saab kasutada nii failide otsimiseks kui ka teksti asendamiseks. Järgmine näide näitab käsu awk kasutamist koos sed käsk. Siin otsib käsk sed kõiki töötajate nimesid, mis algavad tähega „ J 'Ja läheb sisendina käsule awk. awk trükib töötaja nimi ja ID pärast vormindamist.

$kasstöötaja.txt
$sed -n '/J/p'töötaja.txt| awk -F ' t' '{printf'%s (%s) n ', $ 2, $ 1}'

Väljund:

Avage Sisu

Järeldus:

Käsu awk abil saate pärast andmete õiget filtreerimist eri tüüpi aruandeid luua mis tahes tabeli- või piiritletud andmete põhjal. Loodetavasti saate pärast selles õpetuses näidete harjutamist õppida, kuidas käsk awk töötab.