Eeksempel -1: Definition og udskrivning af variabel
'awk' kommando bruger '-v' mulighed for at definere variablen. I dette eksempel er myvar variabel er defineret i kommandoen 'awk' for at gemme værdien, “AWK-variabel” der udskrives senere. Kør følgende kommando fra terminalen for at kontrollere output.
$ ekko | awk -v myvar = 'AWK-variabel' 'print myvar'Produktion:
Eksempel - 2: Brug af shellvariabel i awk med et enkelt tilbud og dobbelt tilbud
Eksemplet viser, hvordan shellvariablen kan bruges til kommandoen 'awk'. Her en skalvariabel, myvar erklæres med værdien, “Linux-tip” i den første kommando. '$' symbol bruges med et shellvariabelnavn til at læse værdien. Den anden kommando læser variablen, $ myval med et enkelt citat ('), og den tredje kommando læser variablen $ myvar med dobbelt citat (“) i' awk 'udsagnet.
$ myvar = "Linux-tip"$ ekko | awk -v awkvar = '$ myvar' 'print awkvar; '
$ ekko | awk -v awkvar = "$ myvar" 'udskriv awkvar; '
Produktion:
Det vises i output, at værdien af $ myvar ikke kan læses, når den er lukket med et enkelt tilbud ('), og output er $ myvar. Værdien af $ myvar udskrives, når den er lukket med et dobbelt tilbud (“).
Eksempel - 3: Læsning af ARGC-variabel i awk
ARGC-variablen bruges til at tælle det samlede antal kommandolinjeargumenter. Tre kommandolinjeargumentvariabler (t1, t2, t3) sendes i det følgende awk-script. Her er det samlede antal argumenter med scriptet 4. Kør scriptet fra terminalen.
$ awk 'BEGIN print "Total argumenter =", ARGC' t1 t2 t3Produktion:
Følgende output vises efter kørsel af scriptet.
Eksempel - 4: Læsning af filindhold efter argumentvariabler
Opret en tekstfil med navnet kunde.txt med følgende indhold for at øve dette eksempel. Her er hvert felt i filen adskilt af et enkelt fanen plads.
kunde.txt
ID-navn103847 John Micheal
209485 Watson
974732 Mira Hossain
Awk-kommandoen kan læse hvert felt fra enhver tekstfil ved hjælp af argumentvariabler. Der er to felter i kunde.txt fil. Disse er ID og navn. Følgende script udskriver disse to felter med argumentvariabler, $ 1 og $ 2 ved at adskille to fanen mellemrum. Kør scriptet fra terminalen.
$ kat kunde.txt$ kat kunde.txt | awk 'udskriv $ 1 "\ t \ t" $ 2;'
Produktion:
Følgende output vises efter kørsel af ovenstående kommandoer.
Eksempel 5: Brug af indbygget variabel, FS- og feltseparatorindstilling med awk-kommando
FS-variabel bruges i awk-kommando som en feltadskiller. Plads bruges som standardværdi for FS. Den følgende kommando læser filen kunde.txt ved hjælp af plads som feltseparator og udskrive filindholdet. Kør kommandoen fra terminalen.
$ awk FS-kunde.txtProduktion:
Følgende output vises efter kørsel af scriptet.
Awk-kommandoen kan bruge andre tegn som feltseparator ved hjælp af indstillingen '-F'. Opret en tekstfil med navnet produkt.txt med følgende indhold, hvor ':' bruges som feltseparator.
produkt.txt
101: Kage: $ 30102: Blyant: $ 5
103: Sæbe: $ 3
104: Shampoo: $ 10
Der er tre felter i filen, produkt.txt der indeholder produkt-id, navn og pris. Den følgende awk-kommando udskriver kun det andet felt på hver linje. Kør kommandoerne fra terminalen.
$ kat produkt.txt$ awk -F ':' 'print $ 2' produkt.txt
Produktion:
Her udskrev den første kommando indholdet af produkt.txt og den anden kommando udskrev kun det andet felt i filen.
Eksempel - 6: Brug af indbygget variabel, NR med awk-kommando
NR-variablen bruges i kommandoen awk til at tælle det samlede antal poster eller linjer i en fil. Opret en tekstfil med navnet studerende.txt for at teste funktionen af denne variabel.
studerende.txt
Navn Batch SemesterJohannes 20 3
Mira 22 1
Ella 18
Charle 15 8
Følgende awk-script udskriver de første tre linjer i produkt.txt fil. Her tilføjes en betingelse ved hjælp af NR-variablen. Kommandoen udskriver de linjer, hvor NR-værdien er mindre end 4. Kør scriptet fra terminalen.
Produktion:
Følgende output vises efter kørsel af scriptet.
$ kat studerende.txt | awk 'NR < 4'
Eksempel - 7: Brug af indbygget variabel, NF med awk-kommando
NF-variablen bruges i kommandoen awk til at tælle det samlede antal felter i hver linje i en fil. Følgende awk-script anvendes til filen, studerende.txt som er oprettet i det foregående eksempel. Scriptet udskriver disse linjer fra studerende.txt fil, hvor de samlede felter er mindre end 3. Kør kommandoen fra terminalen.
$ kat studerende.txt | awk 'NF < 3'Produktion:
Der findes kun en linje i filen, hvor det samlede antal felter er mindre end 3, der udskrives som output.
Eksempel - 8: Brug af indbygget variabel, OFS med awk-kommando
OFS-variablen bruges i awk-kommando til at tilføje outputfeltadskiller i output. produkt.txt -fil bruges i dette eksempel til at vise brugen af OFS-variablen. ':' bruges som feltseparator i produktet.txt-fil. Følgende awk-script bruges '->' som OFS-værdi, og det andet og det tredje felt i filen udskrives ved at tilføje denne separator. Kør kommandoerne fra terminalen.
$ kat produkt.txt$ awk -F ':' 'BEGIN OFS = "->"; udskriv $ 2, $ 3;' produkt.txt
Produktion:
Følgende output udskrives efter kørsel af kommandoerne.
Konklusion:
De mest almindelige anvendelser af awk-variabler forsøges at forklare i denne vejledning. Håber, læseren vil være i stand til at bruge awk-variabler korrekt i scriptet efter at have øvet denne tutorial.