Eeksempel -1: Definere og skrive ut variabel
'awk' -kommandoen bruker '-v' for å definere variabelen. I dette eksemplet er myvar variabel er definert i kommandoen 'awk' for å lagre verdien, “AWK-variabel” som blir skrevet ut senere. Kjør følgende kommando fra terminalen for å sjekke utdataene.
$ ekko | awk -v myvar = 'AWK-variabel' 'print myvar'Produksjon:
Eksempel - 2: Bruke skallvariabel i awk med et enkelt tilbud og dobbelt tilbud
Eksemplet viser hvordan skallvariabelen kan brukes 'awk' kommando. Her en skallvariabel, myvar blir deklarert med verdien, “Linux Hint” i første kommando. '$' symbol brukes med et skallvariabelnavn for å lese verdien. Den andre kommandoen leser variabelen, $ myval med et enkelt sitat (') og den tredje kommandoen leser variabelen $ myvar med dobbelt anførselstegn (“) i utsagnet" awk ".
$ myvar = "Linux Hint"$ ekko | awk -v awkvar = '$ myvar' 'skriv awkvar; '
$ ekko | awk -v awkvar = "$ myvar" 'skriv awkvar; '
Produksjon:
Det vises i utgangen at verdien på $ myvar ikke kan leses når den er vedlagt med et enkelt tilbud (') og utdataene er $ myvar. Verdien av $ myvar skrives ut når den er vedlagt et dobbelt tilbud (“).
Eksempel - 3: Lesing av ARGC-variabel i awk
ARGC-variabel brukes til å telle det totale antallet kommandolinjeargumenter. Tre kommandolinjeargumentvariabler (t1, t2, t3) sendes i følgende awk-skript. Her er det totale antallet argumenter med skriptet 4. Kjør skriptet fra terminalen.
$ awk 'BEGIN print "Total argumenter =", ARGC' t1 t2 t3Produksjon:
Følgende utdata vises etter kjøring av skriptet.
Eksempel - 4: Lesing av filinnhold etter argumentvariabler
Lag en tekstfil med navnet kunde.tekst med følgende innhold for å øve på dette eksemplet. Her er hvert felt i filen skilt med enkelt fanen rom.
kunde.tekst
ID-navn103847 John Micheal
209485 Watson
974732 Mira Hossain
Awk-kommandoen kan lese hvert felt fra hvilken som helst tekstfil etter argumentvariabler. Det er to felt i kunde.tekst fil. Dette er ID og navn. Følgende skript vil skrive ut disse to feltene etter argumentvariabler, $ 1 og $ 2 ved å skille to fanen mellomrom. Kjør skriptet fra terminalen.
$ katt kunde.tekst$ katt kunde.txt | awk 'print $ 1 "\ t \ t" $ 2;'
Produksjon:
Følgende utdata vises når du har kjørt kommandoene ovenfor.
Eksempel 5: Bruke innebygd variabel, FS og feltutskilleralternativ med awk-kommando
FS-variabel brukes i awk-kommando som feltseparator. Plass brukes som standardverdi på FS. Følgende kommando vil lese filen kunde.tekst ved å bruke mellomrom som feltseparator og skrive ut filinnholdet. Kjør kommandoen fra terminalen.
$ awk FS-kunde.tekstProduksjon:
Følgende utdata vises etter kjøring av skriptet.
Awk-kommandoen kan bruke andre tegn som feltseparator ved å bruke '-F' alternativet. Lag en tekstfil med navnet produkt.tekst med følgende innhold der ':' brukes som feltseparator.
produkt.tekst
101: Kake: $ 30102: Blyant: $ 5
103: Såpe: $ 3
104: Sjampo: $ 10
Det er tre felt i filen, produkt.tekst som inneholder produkt-ID, navn og pris. Følgende awk-kommando vil bare skrive ut det andre feltet på hver linje. Kjør kommandoene fra terminalen.
$ kattprodukt.tekst$ awk -F ':' 'print $ 2' produkt.tekst
Produksjon:
Her skrev den første kommandoen ut innholdet av produkt.tekst og den andre kommandoen skrev bare ut det andre feltet i filen.
Eksempel - 6: Bruk innebygd variabel, NR med awk-kommando
NR-variabelen brukes i awk-kommando for å telle det totale antallet poster eller linjer i en fil. Lag en tekstfil med navnet student.tekst for å teste funksjonen til denne variabelen.
student.tekst
Navn Batch SemesterJohannes 20 3
Mira 22 1
Ella 18
Charle 15 8
Følgende awk-skript vil skrive ut de tre første linjene av produkt.tekst fil. Her legges det til en betingelse ved å bruke NR-variabelen. Kommandoen vil skrive ut de linjene der NR-verdien er mindre enn 4. Kjør skriptet fra terminalen.
Produksjon:
Følgende utdata vises etter kjøring av skriptet.
$ kattelev.txt | awk 'NR < 4'
Eksempel - 7: Bruke innebygd variabel, NF med awk-kommando
NF-variabel brukes i awk-kommando for å telle det totale antallet felt i hver linje i en fil. Følgende awk-skript brukes for filen, student.tekst som er opprettet i forrige eksempel. Manuset vil skrive ut disse linjene fra student.tekst fil hvor de totale feltene er mindre enn 3. Kjør kommandoen fra terminalen.
$ kattelev.txt | awk 'NF < 3'Produksjon:
Det er bare en linje i filen der det totale antallet felt er mindre enn 3 som skrives ut som utskrift.
Eksempel - 8: Bruke innebygd variabel, OFS med awk-kommando
OFS-variabelen brukes i awk-kommando for å legge til utgangsfeltseparator i utgangen. produkt.tekst filen brukes i dette eksemplet for å vise bruken av OFS-variabelen. ':' brukes som feltseparator i produktet.txt-fil. Følgende awk-skript brukte '->' som OFS-verdi, og det andre og det tredje feltet i filen skrives ut ved å legge til denne skilletegn. Kjør kommandoene fra terminalen.
$ kattprodukt.tekst$ awk -F ':' 'BEGIN OFS = "->"; skriv ut $ 2, $ 3;' produkt.tekst
Produksjon:
Følgende utskrift skrives ut etter at du har kjørt kommandoene.
Konklusjon:
De vanligste bruken av awk-variabler er prøvd å forklare i denne opplæringen. Håper, leseren vil kunne bruke awk-variabler riktig i skriptet etter å ha trent denne opplæringen.