Jak używać instrukcji warunkowej w poleceniu AWK

Jak używać instrukcji warunkowej w poleceniu AWK
Instrukcja warunkowa jest używana w dowolnym języku programowania do wykonywania dowolnego instrukcji na podstawie określonego warunku. Instrukcja warunkowa jest wykonywana na podstawie wartości prawdziwej lub fałszu, gdy instrukcje IF-ELSE i IF-ELseif są używane do zapisywania instrukcji warunkowej w programowaniu. AWK obsługuje wszystkie rodzaje instrukcji warunkowych, takich jak inne języki programowania. W tym samouczku można użyć różnych instrukcji warunkowych w poleceniu AWK.

Składnia:

Składnia dla czterech rodzajów instrukcji warunkowych jest wspomniana poniżej.

  1. If oświadczenie
if (warunek)
oświadczenie

Instrukcja wykonuje się, gdy warunek if zwróci prawdziwie.

  1. Oświadczenie IF-ELSE
if (warunek)
Oświadczenie 1

w przeciwnym razie
Oświadczenie-2

Instrukcja-1 wykonuje się, gdy warunek if jest prawdziwy, a instrukcja 2 wykonuje się, gdy zwraca false.

  1. Oświadczenie IF-ELseif
if (warunek)
Oświadczenie 1

Elseif
Oświadczenie-2

Elseif
Oświadczenie-3

… .
w przeciwnym razie
Oświadczenie-n

Ta instrukcja warunkowa służy do wykonywania instrukcji na podstawie wielu warunków. Jeśli pierwszy warunek jest fałszywy, to sprawdza drugi warunek. Jeśli drugi warunek jest fałszywy, sprawdza trzeci warunek i tak dalej. Jeśli wszystkie warunki zwrócą fałsz, wówczas wykona instrukcję części ENES.

  1. (Trójskładnik (?:) Operator
(stan : schorzenie) ? Oświadczenie 1: Oświadczenie-2

Operator trójskładnikowy może być używany jako alternatywa instrukcji IF-ELSE. Jeśli warunek jest prawdziwy, instrukcja-1 zostanie wykonana i jeśli warunek false, instrukcja 2 będzie wykonywana.

Przykład-1: Używanie prostego, jeśli w AWK

Utwórz plik tekstowy o nazwie emplyee.tekst z następującą treścią. Załóżmy, że musisz znaleźć nazwisko działu, wiek i pensję pracownika, którego identyfikatorem jest 11002.

pracownik.tekst

11001 Sprzedaż 45 3000 USD
11002 HR 32 1500 $
11003 Marketing 26 1200 USD
11004 HR 25 $ 2500 $

Prosty, jeśli warunek jest używany w poniższym skrypcie do wyszukiwania ID 11002 w pierwszym polu pliku. Jeśli warunek stanie się prawdą, wydrukuje wartości innych pól odpowiedniej linii, w przeciwnym razie nic nie zostanie wydrukowane.

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

Wydrukuj „Nazwa działu:”, 2 USD, „\ n”;
Wydrukuj „Age:”, 3 USD, „\ n”;
Wydrukuj „Wynagrodzenie:”, 4 USD, „\ n”;

' pracownik.tekst

Wyjście:

Identyfikator, 1102 istnieje w pliku. Wydrukował więc inne wartości pracownika.

Przykład-2: Używanie IF-Else w AWK

Załóżmy, że chcesz wydrukować informacje o wynagrodzeniach pracowników, których wiek jest mniejszy lub równy 40 i wydrukować informacje o wieku dla innych pracowników. Następujący skrypt AWK może wykonać to zadanie. Jest tylko jeden pracownik pracownik.tekst Plik, którego wiek wynosi ponad 40 lat, a wiek wszystkich innych pracowników jest mniejszy niż 40.

$ awk '
if (3 USD <= 40)

Wydrukuj „Wynagrodzenie”, 1 USD, „IS”, 4 USD, „\ n”

w przeciwnym razie

Wydrukuj „Wiek”, 1 USD, „IS”, 3 USD, „\ n”

' pracownik.tekst

Wyjście:

Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.

Przykład-3: Używanie IF-Elseif w skrypcie AWK

Utwórz plik tekstowy o nazwie osoba.TXT z następującą zawartością.

osoba.tekst

Jackson Male Business
Martin Male Service Posider
Lily Female Manager
Robinson Male CEO

Utwórz plik AWK o nazwie if_elseif.Awk z następującym kodem do wydrukowania ulubionego koloru każdej osoby, której nazwa istnieje w pliku. Instrukcja IF-ELseif jest używana w skrypcie do wykonania tego zadania. Skrypt odczytuje pierwszą wartość pola pliku, pracownik.tekst i sprawdź z określoną wartością. Jeśli pierwszy Jeśli Warunek staje się fałszywy, wtedy sprawdzi drugą Jeśli stan i tak dalej. Gdy jakikolwiek warunek stanie się prawdziwy, zostanie przypisana wartość koloru. Jeśli wszystkie warunki stają się fałszywe, to Nic zostanie przypisany jako wartość koloru. Ulubiony kolor każdej osoby wydrukuje lub „Żadna osoba nie znalazła” Wydrukuje, jeśli nazwa żadna osoba nie pasuje.

if_elseif.Awk


Nazwa = 1 USD;
if (name == "jackson") color = "blue";
else if (name == „Martin”) color = „black”;
else if (name == „lily”) color = „czerwony”;
else if (name == „Robinson”) color = „White”;
else color = "none";
if (kolor!= „Brak”) Wydrukuj „Ulubiony kolor”, nazwa, „to”, kolor;
w przeciwnym razie wydrukuj „Żadna osoba”;

Uruchom następujące polecenie, aby wykonać plik IF_ELseif.Awk z osobą.tekst

$ awk -f if_elseif.Osoba AWK.tekst

Wyjście:

Po uruchomieniu polecenia pojawi się następujące dane wyjściowe.

Przykład-4: Korzystanie z operatora trójskładnikowego w AWK

Trzecie pole osoba.tekst Plik zawiera zawód każdej osoby. Następujący operator trójskładnikowy odczytuje każdą wiersz pliku i pasuje do trzeciego wartości pola do „Menedżer". Jeśli wartość pasuje, wydrukuje nazwę osoby, a w przeciwnym razie wydrukuje płeć osoby.

$ awk 'print (3 $ == „Manager”) ? „Nazwa to” 1 $: „Płeć to„ 2 $ ”.tekst

Wyjście:

Następujące dane wyjściowe pojawi się po wykonaniu skryptu. Jedna osoba z zawodem menedżera istnieje w osoba.tekst. Tak więc nazwa jednej osoby jest drukowana, a płeć drukowana dla innych osób.

Przykład-5: Korzystanie z wielu warunków w instrukcji IF

Logiczne lub logiczne i mogą być używane do zdefiniowania wielu warunków w instrukcji warunkowej skryptu AWK. Poniższy skrypt AWK odczytuje każdy wiersz pracownik.tekst i sprawdza wiek i oznaczenie ze szczególnymi wartościami. Logiczne i jest używane w Jeśli stan. Gdy wartość wieku jest większa lub równa 30, a oznaczenie to „HR”, wówczas odpowiadający identyfikator pracownika i wynagrodzenie wydrukują.

$ awk 'if (3 $> = 30 && $ 2 == "hr") wydrukuj "identyfikator pracownika:",
1 USD, „i”, „pensja:”, 4 USD, „\ n”; 'pracownik.tekst

Wyjście:

Następujące dane wyjściowe pojawi się po wykonaniu skryptu. Istnieje tylko jeden pracownik z oznaczeniem „HR” w pracownik.tekst. ID i wynagrodzenie dla tego pracownika są wydrukowane tutaj.

Wniosek:

Najczęstsze zastosowania warunkowego instrukcji dowolnego standardowego programowania są obsługiwane przez AWK Command. Jak możesz używać pojedynczych i wielu warunków w AWK, jest wyjaśnione przy użyciu bardzo prostych przykładów tutaj. Mam nadzieję, że po uprawianiu tych przykładów uczeń będzie mógł prawidłowo użyć instrukcji warunkowej w skrypcie AWK.