AWK - Przepływ sterowania

Podobnie jak inne języki programowania, AWK udostępnia instrukcje warunkowe do sterowania przepływem programu. W tym rozdziale wyjaśniono instrukcje sterujące AWK z odpowiednimi przykładami.

Jeśli oświadczenie

Po prostu testuje stan i wykonuje określone czynności w zależności od stanu. Poniżej podano składnięif oświadczenie -

Składnia

if (condition)
   action

Możemy również użyć pary nawiasów klamrowych, jak podano poniżej, aby wykonać wiele akcji -

Składnia

if (condition) {
   action-1
   action-1
   .
   .
   action-n
}

Na przykład poniższy przykład sprawdza, czy liczba jest parzysta, czy nie -

Przykład

[jerry]$ awk 'BEGIN {num = 10; if (num % 2 == 0) printf "%d is even number.\n", num }'

Wykonując powyższy kod, otrzymasz następujący wynik -

Wynik

10 is even number.

Instrukcja If Else

W if-else składni, możemy podać listę działań do wykonania, gdy warunek stanie się fałszywy.

Składnia if-else oświadczenie jest następujące -

Składnia

if (condition)
   action-1
else
   action-2

W powyższej składni akcja-1 jest wykonywana, gdy warunek ma wartość true, a akcja-2 jest wykonywana, gdy warunek ma wartość fałsz. Na przykład poniższy przykład sprawdza, czy liczba jest parzysta, czy nie -

Przykład

[jerry]$ awk 'BEGIN {
   num = 11; if (num % 2 == 0) printf "%d is even number.\n", num; 
      else printf "%d is odd number.\n", num 
}'

Wykonując ten kod, otrzymasz następujący wynik -

Wynik

11 is odd number.

Drabina Jeśli-Inaczej-Jeśli

Możemy łatwo stworzyć plik if-else-if drabina za pomocą wielu if-elsesprawozdania. Poniższy przykład demonstruje to -

Przykład

[jerry]$ awk 'BEGIN {
   a = 30;
   
   if (a==10)
   print "a = 10";
   else if (a == 20)
   print "a = 20";
   else if (a == 30)
   print "a = 30";
}'

Wykonując ten kod, otrzymasz następujący wynik -

Wynik

a = 30