Käsu awk abil saab faile läbi vaadata ja teha teatud toi­min­guid. Selle Linuxi käsu algus ulatub tagasi aastasse 1977.

Mis on Linuxi käsk awk?

Linuxis on skripti- ja prog­ram­mee­ri­mis­keel, mida saab kasutada failide ana­lüü­si­miseks ja muut­miseks. See keel kannab nime awk ja selle algus ulatub tagasi aastasse 1977. Nimi on tuletatud kolme arendaja nimedest: Alfred Aho, Peter Weinber­ger ja Brian Kernighan. Seda tööriista saab hõlpsasti kasutada käsurealt või SSH (Secure Shell) kaudu. Sarnaselt Linuxi grep-käskuga saab awk-käsku kasutada teatud mustrite ot­si­miseks failides ning kui muud tin­gi­mu­sed on täidetud, saab neid re­di­gee­rida.

Kuidas töötab käsk awk?

Awk kasutab tin­gi­muste ja käskude kom­bi­nat­siooni. Käsu käi­vi­ta­misel läbib programm faili rida-realt, otsides teatud tin­gi­muste täitumist. Kui programm leiab mingis reas need tin­gi­mu­sed, täidab ta seal oleva käsu. Kui tingimust ei ole määratud, täi­de­takse käsk igas reas. Kui te käsku ei sisesta, täi­de­takse si­ses­tus­rea stan­dard­käsk. See tähendab, et saate Linuxi awk-i abil otsida failidest teatud termineid või näiteid.

Kuidas näeb välja awk-süntaks?

Linuxi awk-käsu süntaks on järgmine:

$ awk [Options] "Operation {Instructions}" [Target file]
shell

Millised valikud on käsul awk?

Teil on kolm võimalust:

  • -F [Eraldaja]: Selle valikuga saate määrata failide vahele eraldaja. Ta­va­li­selt on selleks üks tühik.
  • -f [failinimi]: Selle valikuga saate määrata, millises failis soovite awk-käsku käivitada.
  • -v: Kasutage seda valikut muutuja li­sa­miseks.

Näited käsust awk

Et paremini mõista, kuidas sõna „ask“ kasutada, toome siin mõned näited. Käes­ole­val juhul kasutame faili nimega example.txt, mis sisaldab eraldi veergudes linnade, riikide ja mandrite nimekirja. See näeb välja järg­mi­selt:

City Country Continent
Washington D.C USA America
Paris France Europe
Hanoi Vietnam Asia
Abuja Nigeria Africa
shell

Kui soovid kogu faili väl­jas­tada, pead kasutama järgmist käsku:

$ awk "{print $0}" example.txt
shell

Kui soovid aga vaadata vaid üksikuid veerge, võid kasutada eraldi käsku. Meie puhul on tegemist esimese ja kolmanda veeruga:

$ awk "{print $1, $3}" example.txt
shell

See annab järgmise väljundi:

Washington D.C America
Paris Europe
Hanoi Asia
Abuja Africa
Go to Main Menu