Awk

AWK er et programmerings- og skriptspråk for behandling av tekstbaserte data, enten fra filer eller datastrømmer.  Navnet er utledet av etternavnet til utviklerne – Alfred V. Aho, Peter J. Weinberger og Brian W. Kernighan.

AWK bruker for en stor del strenger, assosiative matriser (som er matriser indeksert med nøkkelstrenger] og regulære uttrykk.

AWK er et av de tidligste verktøy som dukket opp i versjon 3 av UNIX, og ble raskt populært.  En versjon av AWK er så å si standard i moderne UNIX-implementasjoner og liknende operativsystem. AWK er nevnt i Single UNIX Specification som en obligatorisk del av et Unix operativsystem. Ved siden av Bourne shell, er AWK det eneste skriptspråk i et standard Unix miljø.

AWK og sed er også en av inspirasjonskildene til skriptspråket Perl.

Strukturen i et AWK program
Et kall til AWK består i hovedsak av to deler: en kommandofil og en primær inndatafil. Kommandofilen, som kan være en virkelig fil eller være inkludert i kommandolinje kallet til awk, inneholder en serie kommandoer som forteller AWK hvordan inndatafilen skal prosesseres. Den primære inndatafilen er typisk en tekstfil som kan være en virkelig fil eller bli lest fra stdin. 

Et typisk AWK program består av linjer på formen

 /mønster/ { aksjon }

hvor mønster er et regulært uttrykk og aksjon er en kommando. AWK leter gjennom inndatafilen og når det finner en linje som svarer til mønster, vil det kjøre kommandoene spesifisert i aksjon.

Skriptspråk
Programmeringsspråk