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