in

AWK – Bucles


Este capítulo explica los bucles de AWK con un ejemplo adecuado. Los bucles se utilizan para ejecutar un conjunto de acciones de manera repetida. La ejecución del ciclo continúa mientras la condición del ciclo sea verdadera.

En bucle

La sintaxis de por bucle es –

Sintaxis

for (initialization; condition; increment/decrement)
   action

Inicialmente, el por instrucción realiza la acción de inicialización, luego verifica la condición. Si la condición es verdadera, ejecuta acciones, luego realiza una operación de incremento o decremento. La ejecución del ciclo continúa mientras la condición sea verdadera. Por ejemplo, el siguiente ejemplo imprime 1 a 5 usando por bucle –

Ejemplo

[jerry]$ awk 'BEGIN { for (i = 1; i <= 5; ++i) print i }'

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

Producción

1
2
3
4
5

Mientras bucle

los tiempo El bucle sigue ejecutando la acción hasta que una condición lógica particular se evalúa como verdadera. Aquí está la sintaxis de tiempo bucle –

Sintaxis

while (condition)
   action

AWK primero verifica la condición; si la condición es verdadera, ejecuta la acción. Este proceso se repite siempre que la condición del bucle se evalúe como verdadera. Por ejemplo, el siguiente ejemplo imprime 1 a 5 usando tiempo bucle –

Ejemplo

[jerry]$ awk 'BEGIN {i = 1; while (i < 6) { print i; ++i } }'

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

Producción

1
2
3
4
5

Bucle para hacer mientras

los hacer mientras El ciclo es similar al ciclo while, excepto que la condición de prueba se evalúa al final del ciclo. Aquí está la sintaxis de hacer mientrasbucle –

Sintaxis

do
   action
while (condition)

en un hacer mientras bucle, la declaración de acción se ejecuta al menos una vez incluso cuando la declaración de condición se evalúa como falsa. Por ejemplo, el siguiente ejemplo imprime de 1 a 5 números usando hacer mientras bucle –

Ejemplo

[jerry]$ awk 'BEGIN {i = 1; do { print i; ++i } while (i < 6) }'

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

Producción

1
2
3
4
5

Declaración de ruptura

Como sugiere su nombre, se utiliza para finalizar la ejecución del bucle. Aquí hay un ejemplo que finaliza el ciclo cuando la suma es mayor que 50.

Ejemplo

[jerry]$ awk 'BEGIN {
   sum = 0; for (i = 0; i < 20; ++i) { 
      sum += i; if (sum > 50) break; else print "Sum =", sum 
   } 
}'

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

Producción

Sum = 0
Sum = 1
Sum = 3
Sum = 6
Sum = 10
Sum = 15
Sum = 21
Sum = 28
Sum = 36
Sum = 45

Continuar declaración

los Seguir La declaración se usa dentro de un bucle para saltar a la siguiente iteración del bucle. Es útil cuando desea omitir el procesamiento de algunos datos dentro del ciclo. Por ejemplo, el siguiente ejemplo usa Seguir declaración para imprimir los números pares entre 1 y 20.

Ejemplo

[jerry]$ awk 'BEGIN {
   for (i = 1; i <= 20; ++i) {
      if (i % 2 == 0) print i ; else continue
   } 
}'

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

Producción

2
4
6
8
10
12
14
16
18
20

Declaración de salida

Se utiliza para detener la ejecución del script. Acepta un número entero como argumento, que es el código de estado de salida para el proceso AWK. Si no se proporciona ningún argumento, Salida devuelve el estado cero. A continuación, se muestra un ejemplo que detiene la ejecución cuando la suma es superior a 50.

Ejemplo

[jerry]$ awk 'BEGIN {
   sum = 0; for (i = 0; i < 20; ++i) {
      sum += i; if (sum > 50) exit(10); else print "Sum =", sum 
   } 
}'

Producción

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

Sum = 0
Sum = 1
Sum = 3
Sum = 6
Sum = 10
Sum = 15
Sum = 21
Sum = 28
Sum = 36
Sum = 45

Comprobemos el estado de devolución del script.

Ejemplo

[jerry]$ echo $?

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

Producción

10

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

pantalla windows 2

Cómo salir fácilmente de la pantalla completa en mi computadora portátil con Windows

apple touch icon@2

«no se puede localizar adb» con Android Studio