Syntaks:
Syntaksen for fire typer betingede utsagn er nevnt nedenfor.
if (tilstand)
uttalelse
Uttalelsen utføres når IF -tilstanden kommer tilbake.
if (tilstand)
Uttalelse-1
ellers
Uttalelse-2
Uttalelsen-1 utføres når IF-tilstanden er sann og uttalelsen-2 utføres når hvis return.
if (tilstand)
Uttalelse-1
eller hvis
Uttalelse-2
eller hvis
Uttalelse-3
.. .
ellers
uttalelse-n
Denne betingede uttalelsen brukes til å utføre en uttalelse basert på flere IF -tilstand. Hvis den første tilstanden er falsk, sjekker den den andre tilstanden. Hvis den andre tilstanden er falsk, sjekker den den tredje tilstanden og så videre. Hvis alle forholdene kommer tilbake falske, vil den utføre uttalelsen fra ellers del.
(betingelse) ? Uttalelse-1: Uttalelse-2
Ternær operatør kan brukes som et alternativ til if-ests-uttalelse. Hvis tilstanden er sant, vil uttalelsen 1 utføre, og hvis tilstanden er falsk, vil uttalelse-2 utføre.
Eksempel-1: Bruke enkelt hvis i AWK
Lag en tekstfil som heter Emplyee.tekst Med følgende innhold. Anta at du må finne ut avdelingsnavnet, alderen og lønnen til den ansatte hvis ID er 11002.
ansatt.tekst
11001 Salg 45 $ 3000
11002 HR 32 $ 1500
11003 Markedsføring 26 $ 1200
11004 HR 25 $ 2500
En enkel hvis tilstand brukes i følgende skript for å søke i ID 11002 i det første feltet i filen. Hvis tilstanden blir sann, vil den skrive ut verdiene til de andre feltene på den tilsvarende linjen, ellers blir ingenting skrevet ut.
$ awk '
if ($ 1 == "11002")
Skriv ut "Avdelingsnavn:", $ 2, "\ n";
skriv ut "alder:", $ 3, "\ n";
skriv ut "Lønn:", $ 4, "\ n";
'Ansatt.tekst
Produksjon:
IDen, 1102 eksisterer i filen. Så det trykket de andre verdiene til den ansatte.
Eksempel-2: Bruke IF-Else i AWK
Anta at du vil skrive ut lønnsinformasjonen til de ansatte hvis alder er mindre enn eller lik 40 og skrive ut aldersinformasjonen for andre ansatte. Følgende AWK -skript kan gjøre denne oppgaven. Det er bare en ansatt i ansatt.tekst fil hvis alder er mer enn 40 og all andre ansattes alder er mindre enn 40.
$ awk '
if ($ 3 <= 40)
Skriv ut "lønnen til", $ 1, "er", $ 4, "\ n"
ellers
Skriv ut "The Age of", $ 1, "er", $ 3, "\ n"
'Ansatt.tekst
Produksjon:
Følgende utgang vises etter å ha kjørt skriptet.
Eksempel-3: Bruke If-Elseif i AWK-skript
Lag en tekstfil som heter Person.txt med følgende innhold.
person.tekst
Jackson mannlig virksomhet
Martin Male Service Holder
Lily kvinnelig manager
Robinson mannlige administrerende direktør
Lag en AWK -fil som heter if_elseif.awk Med følgende kode for å skrive ut favorittfargen til hver person som har det finnes i filen. If-elvesiferklæring brukes i skriptet for å gjøre denne oppgaven. Skriptet vil lese den første feltverdien til filen, ansatt.tekst og ta kontakt med en bestemt verdi. Hvis den første hvis Tilstanden blir falsk da vil den sjekke det andre hvis tilstand og så videre. Når noen hvis tilstand blir sann, vil en fargeverdi bli tildelt. Hvis alle forhold blir falske da Ingen vil bli tildelt som fargeverdi. Favorittfargen til hver person vil skrive ut eller “Ingen personer funnet” vil skrive ut hvis ingen personnavn samsvarer.
if_elseif.awk
navn = $ 1;
if (name == "Jackson") color = "blå";
ellers if (name == "martin") color = "svart";
ellers if (name == "Lily") farge = "rød";
ellers hvis (navn == "Robinson") farge = "hvit";
annet farge = "ingen";
hvis (farge!= "Ingen") Skriv ut "favorittfargen på", navn, "er", farge;
ellers skriv ut "Ingen personer funnet";
Kjør følgende kommando for å utføre filen IF_ELSEIF.awk med person.tekst
$ awk -f if_elseif.awk person.tekst
Produksjon:
Følgende utgang vises etter å ha kjørt kommandoen.
Eksempel-4: Bruke ternær operatør i AWK
Det tredje feltet av person.tekst Filen inneholder yrket til hver person. Følgende ternære operatør leser hver linje i filen og samsvarer med den tredje feltverdien med "sjef”. Hvis verdien samsvarer, vil den skrive ut navnet på personen, og ellers vil den skrive ut kjønnet til personen.
$ awk 'print ($ 3 == "manager") ? "Navn er" $ 1: "kjønn er" $ 2 'person.tekst
Produksjon:
Følgende utgang vises etter å ha utført skriptet. En person med "lederyrke eksisterer i person.tekst. Så navnet på en person er trykt og kjønn er trykt for andre personer.
Eksempel-5: Bruke flere forhold i IF-uttalelse
Logisk eller og logisk og kan brukes til å definere flere forhold i betinget uttalelse av AWK -skript. Følgende AWK -skript leser hver linje av ansatt.tekst og sjekker alder og betegnelse med bestemte verdier. Logisk og brukes i hvis betingelse. Når aldersverdien er større enn eller lik 30 og betegnelsen er "HR", vil den tilsvarende ansattes ID og lønn skrives ut.
$ awk 'if ($ 3> = 30 && $ 2 == "HR") Skriv ut "Ansatt ID:",
$ 1, "og", "lønn:", $ 4, "\ n"; 'ansatt.tekst
Produksjon:
Følgende utgang vises etter å ha utført skriptet. Det er bare en ansatt som eksisterer med betegnelsen, "HR" i ansatt.tekst. ID og lønnsinformasjon for denne ansatte er skrevet ut her.
Vanlige bruksområder for betinget uttalelse av en standard programmering støttes av AWK -kommandoen. Hvordan du kan bruke enkelt- og flere forhold i AWK forklares ved å bruke veldig enkle eksempler her. Håper etter å ha praktisert disse eksemplene, vil eleven kunne bruke betinget uttalelse riktig i AWK -skript.