Учебники

AWK — Контроль потока

Как и другие языки программирования, AWK предоставляет условные операторы для управления потоком программы. В этой главе объясняются управляющие операторы AWK с подходящими примерами.

Если заявление

Он просто проверяет состояние и выполняет определенные действия в зависимости от условия. Ниже приведен синтаксис оператора if

Синтаксис

if (condition)
   action

Мы также можем использовать пару фигурных скобок, как указано ниже, для выполнения нескольких действий:

Синтаксис

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

Например, следующий пример проверяет, является ли число четным или нет —

пример

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

Выполнив приведенный выше код, вы получите следующий результат —

Выход

10 is even number.

Если еще заявление

В синтаксисе if-else мы можем предоставить список действий, которые должны быть выполнены, когда условие становится ложным.

Синтаксис оператора if-else следующий:

Синтаксис

if (condition)
   action-1
else
   action-2

В приведенном выше синтаксисе действие-1 выполняется, когда условие оценивается как истинное, а действие-2 выполняется, когда условие оценивается как ложное. Например, следующий пример проверяет, является ли число четным или нет —

пример

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

Выполнив этот код, вы получите следующий результат —

Выход

11 is odd number.

If-Else-If Лестница

Мы можем легко создать лестницу if-else-if , используя несколько операторов if-else . Следующий пример демонстрирует это —

пример

[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";
}'

Выполнив этот код, вы получите следующий результат —