Ved å bruke kommandoen awk kan du søke gjennom filer og utføre bestemte handlinger. Opprinnelsen til denne Linux-kommandoen går helt tilbake til 1977.

Hva er Linux-kommandoen awk?

Linux har et skript- og programmeringsspråk som du kan bruke til å analysere og redigere filer. Det heter awk og har sine røtter helt tilbake i 1977. Navnet er hentet fra de tre utviklerne: Alfred Aho, Peter Weinberger og Brian Kernighan. Du kan enkelt bruke verktøyet via kommandolinjen eller SSH (Secure Shell). Akkurat som når du bruker Linux-kommandoen grep, kan du bruke awk-kommandoen til å søke etter bestemte mønstre i filer, og hvis andre betingelser er oppfylt, kan de redigeres.

Hvordan fungerer kommandoen awk?

Awk bruker en kombinasjon av betingelser og instruksjoner. Når kommandoen kjøres, går den gjennom filen linje for linje på jakt etter bestemte betingelser. Hvis den finner disse betingelsene i en linje, utfører den instruksjonen der. Hvis det ikke er angitt noen betingelse, utføres instruksjonen på hver linje. Hvis du ikke angir en instruksjon, utføres standardinstruksjonen fra oppføringsraden. Dette betyr at du kan bruke Linux awk til å søke etter bestemte termer eller eksempler i filer.

Hvordan ser awk-syntaksen ut?

Syntaksen for Linux-kommandoen awk ser slik ut:

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

Hvilke alternativer har kommandoen awk?

Du har tre alternativer å velge mellom:

  • -F [Skilletegn]: Du kan bruke dette alternativet til å angi et skilletegn mellom filene. Dette er vanligvis et enkelt mellomrom.
  • -f [Filnavn]: Du kan bruke dette alternativet til å angi hvilken fil du vil kjøre awk-kommandoen i.
  • -v: Bruk dette alternativet for å legge til en variabel.

Eksempler på kommandoen awk

For å få en bedre forståelse av hvordan du kan bruke ask, følger her noen eksempler. I dette tilfellet bruker vi en fil som heter example.txt, som inneholder en liste over byer, land og kontinenter i egne kolonner. Den ser slik ut:

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

Hvis du vil skrive ut hele filen, må du bruke følgende kommando:

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

Hvis du derimot bare vil se enkelte kolonner, kan du bruke en egen kommando. I vårt tilfelle er det den første og den tredje kolonnen:

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

Dette vil gi følgende utdata:

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