AWK - Flujo de control

Como otros lenguajes de programación, AWK proporciona declaraciones condicionales para controlar el flujo de un programa. Este capítulo explica las declaraciones de control de AWK con ejemplos adecuados.

Si declaración

Simplemente prueba la condición y realiza ciertas acciones dependiendo de la condición. A continuación se muestra la sintaxis deif declaración -

Sintaxis

if (condition)
   action

También podemos usar un par de llaves como se indica a continuación para ejecutar múltiples acciones:

Sintaxis

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

Por ejemplo, el siguiente ejemplo verifica si un número es par o no:

Ejemplo

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

Al ejecutar el código anterior, obtiene el siguiente resultado:

Salida

10 is even number.

Si es otra declaración

En if-else sintaxis, podemos proporcionar una lista de acciones a realizar cuando una condición se vuelve falsa.

La sintaxis de if-else declaración es la siguiente:

Sintaxis

if (condition)
   action-1
else
   action-2

En la sintaxis anterior, la acción-1 se realiza cuando la condición se evalúa como verdadera y la acción-2 se realiza cuando la condición se evalúa como falsa. Por ejemplo, el siguiente ejemplo verifica si un número es par o no:

Ejemplo

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

Al ejecutar este código, obtiene el siguiente resultado:

Salida

11 is odd number.

Escalera If-Else-If

Podemos crear fácilmente un if-else-if escalera usando múltiples if-elsedeclaraciones. El siguiente ejemplo demuestra esto:

Ejemplo

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

Al ejecutar este código, obtiene el siguiente resultado:

Salida

a = 30