Z ukazom awk lahko pre­gle­du­je­te datoteke in izvajate določene ukrepe. Osnove tega ukaza v sistemu Linux segajo vse do leta 1977.

Kaj je ukaz awk v sistemu Linux?

Linux ima skriptni in pro­gram­ski jezik, ki ga lahko upo­ra­blja­te za pre­gle­do­va­nje in urejanje datotek. Imenuje se awk, njegovi začetki pa segajo vse do leta 1977. Ime je dobil po treh raz­vi­jal­cih: Alfredu Ahu, Petru We­in­ber­ger­ju in Brianu Ker­ni­gha­nu. Orodje lahko enostavno upo­ra­blja­te prek ukazne vrstice ali SSH (Secure Shell). Podobno kot pri uporabi ukaza grep v sistemu Linux lahko z ukazom awk iščete določene vzorce v datotekah, ki jih lahko nato uredite, če so iz­pol­nje­ni drugi pogoji.

Kako deluje ukaz awk?

Awk uporablja kom­bi­na­ci­jo pogojev in ukazov. Ob izvedbi ukaza pregleda datoteko vrstico za vrstico in išče določene pogoje. Če v vrstici najde te pogoje, tam izvede ukaz. Če pogoj ni določen, se ukaz izvede v vsaki vrstici. Če ne vnesete navodila, se izvede stan­dar­dno navodilo iz vrstice za vnos. To pomeni, da lahko uporabite Linux awk za iskanje določenih izrazov ali primerov v datotekah.

Kako izgleda sintaksa jezika awk?

Sintaksa ukaza awk v sistemu Linux je naslednja:

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

Katere možnosti ponuja ukaz awk?

Na voljo imate tri možnosti:

  • -F [Ločilo]: S to možnostjo lahko nastavite ločilo med da­to­te­ka­mi. Običajno je to ena sama pre­sle­dni­ca.
  • -f [Ime datoteke]: S to možnostjo lahko določite, v kateri datoteki želite izvesti ukaz awk.
  • -v: To možnost uporabite za dodajanje spre­men­ljiv­ke.

Primeri ukaza awk

Da bi bolje razumeli, kako se uporablja ukaz »ask«, si oglejte nekaj primerov. V tem primeru upo­ra­blja­mo datoteko z imenom example.txt, ki v po­sa­me­znih stolpcih vsebuje seznam mest, držav in celin. Izgleda takole:

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

Če želite izpisati celotno datoteko, morate uporabiti naslednji ukaz:

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

Če pa želite prikazati le posamezne stolpce, lahko uporabite ločen ukaz. V našem primeru gre za prvi in tretji stolpec:

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

To bo vrnilo naslednji izpis:

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