Páni

Jak používat podmíněný příkaz v příkazu awk

Jak používat podmíněný příkaz v příkazu awk
Podmíněný příkaz se používá v libovolném programovacím jazyce k provedení libovolného příkazu založeného na konkrétní podmínce. Podmíněný příkaz se provádí na základě hodnoty true nebo false, když se k zápisu podmíněného příkazu v programování používají příkazy if-else a if-elseif. Awk podporuje všechny typy podmíněných příkazů jako ostatní programovací jazyky.  Jak lze v příkazu awk použít různé podmíněné příkazy, ukazuje tento návod.

Syntax:

Syntaxe čtyř typů podmíněných příkazů je uvedena níže.

  1. pokud prohlášení
if (podmínka)
prohlášení

Příkaz se provede, když podmínka if vrátí hodnotu true.

  1. prohlášení if-else
if (podmínka)
prohlášení-1

jiný
prohlášení-2

Příkaz 1 se provede, když je splněna podmínka if, a příkaz-2 se provede, pokud if vrátí hodnotu false.

  1. if-elseif prohlášení
if (podmínka)
prohlášení-1

elseif
prohlášení-2

elseif
prohlášení-3

… .
jiný
prohlášení č

Tento podmíněný příkaz se používá k provedení příkazu založeného na podmínce multiple if. Pokud je první podmínka nepravdivá, zkontroluje se druhá podmínka. Pokud je druhá podmínka nepravdivá, zkontroluje třetí podmínku atd. Pokud se všechny podmínky vrátí nepravdivé, provede se příkaz else part.

  1. Ternární (?:) operátor
(stav) ? prohlášení-1: prohlášení-2

Jako alternativu příkazu if-else lze použít ternární operátor. Pokud je podmínka pravdivá, příkaz-1 se provede a pokud je podmínka nepravdivá, provede se příkaz-2.

Příklad 1: Použití jednoduchého příkazu if v awk

Vytvořte textový soubor s názvem zaměstnanec.txt s následujícím obsahem. Předpokládejme, že musíte zjistit název oddělení, věk a plat zaměstnance, jehož ID je 11002.

zaměstnanec.txt

Prodej 11001 45 $ 3000
11002 HR 32 $ 1500
11003 Marketing 26 $ 1200
11004 HR 25 2500 $

Pro vyhledání ID 11002 v prvním poli souboru se v následujícím skriptu použije podmínka typu if. Pokud se podmínka stane pravdivou, vytiskne hodnoty ostatních polí příslušného řádku, jinak se nic nevytiskne.

$ awk '
if ($ 1 == "11002")

tisk "Název oddělení:", $ 2, "\ n";
tisk "Věk:", 3 $, "\ n";
vytisknout "Plat:", 4 $, "\ n";
 

zaměstnanec.txt

Výstup:

ID 1102 v souboru existuje. Vytisklo tedy další hodnoty zaměstnance.

Příklad 2: Použití if-else v awk

Předpokládejme, že chcete vytisknout informace o platu zaměstnanců, jejichž věk je menší nebo roven 40, a vytisknout informace o věku ostatních zaměstnanců. Následující awk skript může tento úkol provést. Ve společnosti je pouze jeden zaměstnanec zaměstnanec.txt soubor, jehož věk je více než 40 let a věk všech ostatních zaměstnanců je méně než 40 let.

$ awk '
pokud ($ 3 <= 40)

tisk "Plat", 1 $, "je", 4 $, "\ n"

jiný

tisk "Věk", $ 1, "je", $ 3, "\ n"

 
zaměstnanec.txt

Výstup:

Po spuštění skriptu se zobrazí následující výstup.

Příklad 3: Použití if-elseif ve skriptu awk

Vytvořte textový soubor s názvem osoba.txt s následujícím obsahem.

osoba.txt

JACKSON Mužské podnikání
Mužský servisní držák MARTIN
LILY manažerka
ROBINSON Mužský generální ředitel

Vytvořte awk soubor s názvem if_elseif.awk s následujícím kódem pro tisk oblíbené barvy každé osoby, jejíž jméno v souboru existuje. Ve skriptu se k provedení této úlohy používá příkaz if-elseif. Skript načte hodnotu prvního pole souboru, zaměstnanec.txt a zkontrolujte konkrétní hodnotu. Pokud první -li podmínka se stane nepravdivou, pak zkontroluje druhou -li stav atd. Pokud se splní podmínka if, bude přiřazena hodnota barvy. Pokud se všechny podmínky stanou neplatnými, pak Žádný bude přiřazena jako hodnota barvy. Oblíbená barva každého člověka vytiskne nebo "Nebyla nalezena žádná osoba" vytiskne se, pokud se neshoduje žádné jméno osoby.

if_elseif.awk


name = $ 1;
if (name == "JACKSON") color = "Blue";
jinak if (name == "MARTIN") color = "Black";
jinak if (name == "LILY") color = "Red";
else if (name == "ROBINSON") color = "White";
else color = "Žádný";
 
pokud (barva!= "None") print "Oblíbená barva", name, "is", color;
else print "Nebyla nalezena žádná osoba";
 

Spuštěním následujícího příkazu spustíte soubor if_elseif.awk s osobou.txt

$ awk -f if_elseif.awk osoba.txt

Výstup:

Po spuštění příkazu se zobrazí následující výstup.

Příklad 4: Použití ternárního operátoru v awk

Třetí pole osoba.txt soubor obsahuje profese každé osoby. Následující ternární operátor načte každý řádek souboru a porovná hodnotu třetího pole s „Manažer“. Pokud se hodnota shoduje, vytiskne jméno osoby a jinak vytiskne její pohlaví.

$ awk 'print ($ 3 == "Správce") ? „Jméno je„ $ 1: “Pohlaví je„ $ 2 “osoba.txt

Výstup:

Po provedení skriptu se zobrazí následující výstup. Jedna osoba s „Manažerskou profesí existuje v osoba.txt. Vytiskne se tedy jméno jedné osoby a pohlaví se vytiskne pro jiné osoby.

Příklad 5: Použití více podmínek v příkazu if

Logické OR a Logické AND lze použít k definování více podmínek v podmíněném příkazu awk skriptu. Následující skript awk čte každý řádek zaměstnanec.txt a kontroluje věk a označení s konkrétními hodnotami. Logické AND se používá v -li stav. Pokud je věková hodnota větší nebo rovna 30 a označení je „HR“, vytiskne se odpovídající ID a plat zaměstnance.

$ awk 'if ($ 3> = 30 && $ 2 == "HR") vytisknout "ID zaměstnance:",
$ 1, "a", "Plat:", $ 4, "\ n"; 'zaměstnanec.txt

Výstup:

Po provedení skriptu se zobrazí následující výstup. Existuje pouze jeden zaměstnanec s označením „HR“ v zaměstnanec.txt. Zde jsou vytištěny informace o ID a platu tohoto zaměstnance.

Závěr:

Nejběžnější použití podmíněného příkazu jakéhokoli standardního programování podporuje příkaz awk. Jak můžete v awk použít jednu a více podmínek, vysvětlíme zde na velmi jednoduchých příkladech. Doufám, že po procvičení těchto příkladů bude student schopen správně používat podmíněný příkaz v awk skriptu.

Hry Jak stáhnout a přehrát Sid Meier's Civilization VI v systému Linux
Jak stáhnout a přehrát Sid Meier's Civilization VI v systému Linux
Úvod do hry Civilization 6 je moderní pojetí klasického konceptu představeného v sérii her Age of Empires. Myšlenka byla docela jednoduchá; začali bys...
Hry Jak nainstalovat a hrát Doom na Linuxu
Jak nainstalovat a hrát Doom na Linuxu
Úvod do Doom Série Doom vznikla v 90. letech po vydání původního Doomu. Byl to okamžitý hit a od té doby herní série získala řadu ocenění a původní Do...
Hry Vulkan pro uživatele Linuxu
Vulkan pro uživatele Linuxu
S každou novou generací grafických karet vidíme, že vývojáři her posouvají hranice grafické věrnosti a přibližují se k fotorealismu. Ale navzdory vešk...