Oversikt
awk er et kraftig skriptspråk for å søke etter mønstre i tekstfiler og utføre angitte handlinger på matchende linjer. Spesielt brukes -v-opsjonen til å definere og initialisere variabler eksternt før awk-skriptet kjøres. Dette kan i stor grad øke fleksibiliteten og gjenbrukbarheten til skriptet.
Hovedfunksjoner
- Ekstern variabeldefinisjon: Sender variabler fra skallmiljøet til awk-skriptet.
- Forbedret skriptfleksibilitet: Kontrollerer atferden med eksterne verdier uten å endre skriptinnholdet.
- Bruk for betinget behandling og beregninger: Definerte variabler kan brukes i betingede utsagn eller beregningsuttrykk.
Hovedopsjoner
awk -v-opsjonen brukes til å definere variabler før skriptkjøring.
Variabeldefinisjon
Gegenereerde opdracht:
Probeer de opdrachtcombinaties.
Uitleg:
`awk` Voer het commando uit.
Combineer deze opties en voer de opdracht virtueel uit met de AI.
Brukseksempler
Ulike brukseksempler som utnytter awk -v-opsjonen.
Variabeldefinisjon og utskrift
echo "World" | awk -v greeting="Hallo" '{print greeting, $0}'
Definerer variabelen greeting til 'Hallo' og skriver den ut foran hver linje.
Betinget behandling
echo -e "apple 10\norange 20\nbanana 5" | awk -v min_qty=15 '$2 > min_qty {print $1, "Antall overskredet"}'
Definerer variabelen min_qty til 15, og skriver ut elementet og meldingen kun hvis det andre feltet ($2) er større enn min_qty.
Bruk av flere variabler
echo "data" | awk -v name="Hong Gildong" -v age=30 '{print "Navn:", name, "Alder:", age}'
Definerer to variabler, name og age, og bruker dem i skriptet.
Bruk av variabler i BEGIN-blokken
awk -v message="Starter" 'BEGIN {print message}'
Variabler definert med -v er også tilgjengelige i BEGIN-blokken av awk-skriptet.
Tips & Merknader
Du kan øke anvendeligheten av awk-skript ved å effektivt bruke -v-opsjonen.
Brukstips
- Definer flere variabler: Du kan definere så mange variabler du trenger ved å bruke flere -v-opsjoner (f.eks. `awk -v var1=val1 -v var2=val2 ...`).
- Strengverdier: Hvis strengverdier inneholder mellomrom, må de omgis av anførselstegn i skallet (f.eks. `-v msg="Hello World"`).
- Numeriske verdier: Numeriske verdier kan spesifiseres direkte uten anførselstegn (f.eks. `-v count=10`).
- Variabelomfang: Variabler definert med -v er globalt tilgjengelige i hele awk-skriptet og er spesielt nyttige for initial innstilling i BEGIN-blokken.