Ved hjælp af kom­man­do­en awk kan du gennemgå filer og udføre bestemte hand­lin­ger. Grund­la­get for denne Linux-kommando går helt tilbage til 1977.

Hvad er Linux-kom­man­do­en awk?

Linux har et script- og pro­gram­me­rings­sprog, som du kan bruge til at analysere og redigere filer. Det hedder awk og stammer helt tilbage fra 1977. Navnet er hentet fra de tre udviklere: Alfred Aho, Peter We­in­ber­ger og Brian Kernighan. Du kan nemt bruge værktøjet via kom­man­do­linj­en eller SSH (Secure Shell). Ligesom når du bruger Linux-kom­man­do­en grep, kan du bruge awk-kom­man­do­en til at søge efter bestemte mønstre i filer, og hvis andre be­tin­gel­ser er opfyldt, kan de redigeres.

Hvordan fungerer kom­man­do­en awk?

Awk bruger en kom­bi­na­tion af be­tin­gel­ser og in­struk­tio­ner. Når kom­man­do­en køres, gennemgår den filen linje for linje på udkig efter bestemte be­tin­gel­ser. Hvis den finder disse be­tin­gel­ser i en linje, udfører den den på­gæl­den­de in­struk­tion. Hvis der ikke er angivet nogen be­tin­gel­se, udføres in­struk­tio­nen på hver eneste linje. Hvis du ikke indtaster en in­struk­tion, udføres stan­dar­din­struk­tio­nen fra ind­tast­nings­ræk­ken. Det betyder, at du kan bruge Linux awk til at søge efter bestemte termer eller eksempler i filer.

Hvordan ser awk-syntaksen ud?

Syntaksen for Linux-kom­man­do­en awk ser således ud:

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

Hvilke mu­lig­he­der har kom­man­do­en awk?

Du har tre mu­lig­he­der:

  • -F [Separator]: Du kan bruge denne indstil­ling til at angive en separator mellem filerne. Det er normalt et enkelt mellemrum.
  • -f [Filnavn]: Du kan bruge denne indstil­ling til at angive, i hvilken fil du vil køre awk-kom­man­do­en.
  • -v: Brug denne indstil­ling til at tilføje en variabel.

Eksempler på kom­man­do­en awk

For at få en bedre for­stå­el­se af, hvordan du kan bruge ask, følger her et par eksempler. I dette tilfælde bruger vi en fil ved navn example.txt, der in­de­hol­der en liste over byer, lande og kon­ti­nen­ter i separate kolonner. Den ser således ud:

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

Hvis du vil udskrive hele filen, skal du bruge følgende kommando:

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

Hvis du derimod blot ønsker at se enkelte kolonner, kan du bruge en separat kommando. I vores tilfælde er det den første og tredje kolonne:

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

Dette vil give følgende resultat:

Washington D.C America
Paris Europe
Hanoi Asia
Abuja Africa
Gå til ho­ved­me­nu­en