EXample -1: Definere og skrive ut variabel
'Awk' kommando bruker '-v' -alternativet for å definere variabelen. I dette eksemplet Myvar Variabel er definert i 'AWK' -kommandoen for å lagre verdien, “Awk variabel” som blir skrevet ut senere. Kjør følgende kommando fra terminalen for å sjekke utgangen.
$ ekko | awk -v myvar = 'awk variabel' 'print myvar'
Produksjon:
Eksempel - 2: Bruke Shell -variabel i AWK med et enkelt sitat og dobbelt tilbud
Eksemplet viser hvordan skallvariabelen kan brukes 'AWK' -kommando. Her en skallvariabel, Myvar erklært med verdien, “Linux hint” I den første kommandoen. '$' -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 sitat (“) i' awk '-uttalelsen.
$ myvar = "Linux hint"
$ ekko | awk -v awkvar = '$ myvar' 'print awkvar; '
$ ekko | awk -v awkvar = "$ myvar" 'print awkvar; '
Produksjon:
Det vises i utgangen at verdien av $ myvar ikke kan leses når den er vedlagt et enkelt sitat (') og utgangen er $ Myvar. Verdien av $ Myvar skrives ut når det er vedlagt et dobbelt sitat (“).
Eksempel - 3: Lese ArgC -variabel i AWK
ArgC -variabel brukes til å telle det totale antallet kommandolinjeargumenter. Tre kommandolinje argumenter variabler (T1, T2, T3) sendes i følgende AWK -skript. Her er det totale antallet argumenter med skriptet 4. Kjør manuset fra terminalen.
$ awk 'begynn print "Total Arguments =", Argc' T1 T2 T3
Produksjon:
Følgende utgang vises etter å ha kjørt skriptet.
Eksempel - 4: Lese filinnhold etter argumentvariabler
Lag en tekstfil som heter kunde.tekst Med følgende innhold for å øve på dette eksemplet. Her skilles hvert felt i filen med singel Tab rom.
kunde.tekst
ID -navn
103847 John Micheal
209485 Watson
974732 Mira Hossain
AWK -kommando kan lese hvert felt fra hvilken som helst tekstfil etter argumentvariabler. Det er to felt i kunde.tekst fil. Disse er ID og navn. Følgende skript vil skrive ut disse to feltene etter argumentvariabler, $ 1 og $ 2 ved å skille to Tab mellomrom. Kjør manuset fra terminalen.
$ CAT -kunde.tekst
$ CAT -kunde.txt | awk 'skriv ut $ 1 "\ t \ t" $ 2;'
Produksjon:
Følgende utgang vises etter å ha kjørt kommandoene ovenfor.
Eksempel- 5: Bruke innebygd variabel, FS og feltutskillelsesalternativ med AWK-kommando
FS -variabel brukes i AWK -kommando som feltseparator. Plass brukes som en standardverdi på FS. Følgende kommando vil lese filen kunde.tekst Bruker plass som feltskiller og skriv ut filinnholdet. Kjør kommandoen fra terminalen.
$ awk fs kunde.tekst
Produksjon:
Følgende utgang vises etter å ha kjørt skriptet.
AWK-kommando kan bruke andre tegn som feltskiller ved å bruke alternativet '-f'. Lag en tekstfil som heter produkt.tekst med følgende innhold der ':' brukes som feltskillelse.
produkt.tekst
101: Kake: $ 30
102: 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.
$ katteprodukt.tekst
$ awk -f ':' 'skriv ut $ 2' produkt.tekst
Produksjon:
Her trykket den første kommandoen innholdet i produkt.tekst og den andre kommandoen trykket bare det andre feltet i filen.
Eksempel - 6: Bruke innebygd variabel, NR med AWK -kommando
NR -variabel brukes i AWK -kommando for å telle det totale antallet poster eller linjer i en fil. Lag en tekstfil som heter student.tekst For å teste funksjonen til denne variabelen.
student.tekst
Navn batchsemester
John 20 3
Mira 22 1
Ella 18
Charle 15 8
Følgende AWK -skript vil skrive ut de tre første linjene i produkt.tekst fil. Her blir en tilstand lagt til ved å bruke NR -variabelen. Kommandoen vil skrive ut de linjene der NR -verdien er mindre enn 4. Kjør manuset fra terminalen.
Produksjon:
Følgende utgang vises etter å ha kjørt skriptet.
$ CAT -student.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 på filen, student.tekst som er opprettet i forrige eksempel. Skriptet vil skrive ut disse linjene fra student.tekst fil der de totale feltene er mindre enn 3. Kjør kommandoen fra terminalen.
$ CAT -student.txt | awk 'nf < 3'
Produksjon:
Det finnes bare en linje i filen der det totale antallet felt er mindre enn 3 som skrives ut som utdata.
Eksempel - 8: Bruke innebygd variabel, OFS med AWK -kommando
OFS -variabel brukes i AWK -kommando for å legge til utdata -separator i utgangen. produkt.tekst Fil brukes i dette eksemplet for å vise bruken av OFS -variabel. ':' brukes som feltskiller i produktet.txt -fil. Følgende AWK-skript brukt '->' som OFS-verdi og, det andre og det tredje feltet i filen vil skrive ut ved å legge til denne separatoren. Kjør kommandoene fra terminalen.
$ katteprodukt.tekst
$ awk -f ':' 'begynn OFS = " ->"; skriv ut $ 2, $ 3;' produkt.tekst
Produksjon:
Følgende utgang vil skrives ut etter å ha kjørt kommandoene.
Vanlige bruksområder av AWK -variabler er prøvd å forklare i denne opplæringen. Håper, leseren vil kunne bruke AWK -variabler riktig i skriptet etter å ha øvd på denne opplæringen.