Kuidas kasutada Linuxi awk-käsku failide analüüsimiseks
Käsu awk abil saab faile läbi vaadata ja teha teatud toiminguid. Selle Linuxi käsu algus ulatub tagasi aastasse 1977.
Mis on Linuxi käsk awk?
Linuxis on skripti- ja programmeerimiskeel, mida saab kasutada failide analüüsimiseks ja muutmiseks. See keel kannab nime awk ja selle algus ulatub tagasi aastasse 1977. Nimi on tuletatud kolme arendaja nimedest: Alfred Aho, Peter Weinberger 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 otsimiseks failides ning kui muud tingimused on täidetud, saab neid redigeerida.
Kuidas töötab käsk awk?
Awk kasutab tingimuste ja käskude kombinatsiooni. Käsu käivitamisel läbib programm faili rida-realt, otsides teatud tingimuste täitumist. Kui programm leiab mingis reas need tingimused, täidab ta seal oleva käsu. Kui tingimust ei ole määratud, täidetakse käsk igas reas. Kui te käsku ei sisesta, täidetakse sisestusrea standardkä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]shellMillised valikud on käsul awk?
Teil on kolm võimalust:
- -F [Eraldaja]: Selle valikuga saate määrata failide vahele eraldaja. Tavaliselt 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 lisamiseks.
Näited käsust awk
Et paremini mõista, kuidas sõna „ask“ kasutada, toome siin mõned näited. Käesoleval juhul kasutame faili nimega example.txt, mis sisaldab eraldi veergudes linnade, riikide ja mandrite nimekirja. See näeb välja järgmiselt:
City Country Continent
Washington D.C USA America
Paris France Europe
Hanoi Vietnam Asia
Abuja Nigeria AfricashellKui soovid kogu faili väljastada, pead kasutama järgmist käsku:
$ awk "{print $0}" example.txtshellKui 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.txtshellSee annab järgmise väljundi:
Washington D.C America
Paris Europe
Hanoi Asia
Abuja Africa