Awk

Cómo usar el bucle for en el comando awk

Cómo usar el bucle for en el comando awk
El bucle se utiliza para ejecutar algunas declaraciones varias veces. La iteración del bucle según la condición de terminación o el número de elementos de la matriz. Cualquier lenguaje de programación admite tres tipos de bucles. Porque el bucle es uno de ellos. El bucle for se puede declarar de dos formas. El bucle for simple contiene tres partes.  Y otro bucle for es el bucle for-in que se usa para iterar cualquier lista de datos o matriz. Este tutorial muestra el uso de estos dos tipos de bucles en el comando awk mediante el uso de varios ejemplos.

Sintaxis:

  1. para declaración de bucle:
para (inicialización; condición de terminación; incremento / decremento)
declaraciones

La primera parte se usa para inicializar la variable para comenzar por círculo. La segunda parte contiene la condición de terminación para controlar la iteración del bucle y el bucle continuará hasta que la condición sea verdadera. La última parte aumentará o disminuirá la variable de inicialización en función de la primera parte.

  1. declaración for-in
para (variable en matriz / lista)
declaraciones

for-in El bucle se utiliza para realizar aquellas tareas en las que el número de iteraciones del bucle no es fijo. for-in El bucle se utiliza principalmente para analizar una matriz o lista de datos. El ciclo lee cada dato de la matriz o lista y almacena el valor en una variable en cada iteración.

Ejemplo 1: Uso de un bucle for simple

Se utiliza un bucle for simple en el siguiente script. Aquí, encimera La variable se inicializa en 10 y el bucle terminará cuando el valor de encimera es menor que 5. El guión imprimirá el encimera valores de 10 a 5. Ejecuta el comando desde la terminal.

$ echo | awk 'para (contador = 10; contador> = 5; contador--)
imprimir "En ejecución", contador, "tiempos."," \ n "; '

Producción:

La siguiente salida aparecerá después de ejecutar el comando.

Ejemplo 2: uso del bucle for-in para leer una matriz

Una matriz denominada Cliente se declara en el siguiente script donde el cliente identificación se establece como un índice de matriz y el cliente nombre se establece como valor de matriz. for-in El bucle se usa aquí para iterar cada índice de la matriz e imprimir el nombre del cliente. Ejecute el script desde la terminal.

$ echo | awk 'BEGIN Cliente ["4587"] = "Neil Johnson";
Cliente ["8953"] = "Ella binte Nazir";
Cliente ["3455"] = "Bruce Hyslop";
Cliente ["6335"] = "Isabella";
 
END para (i en Cliente)
imprimir "El nombre de", i, "es", Cliente [i]
'

Producción:

La siguiente salida aparecerá después de ejecutar el script.

Ejemplo 3: uso de bucle for anidado

Cuando un bucle for se declara en otro bucle for, se llama bucle for anidado. El bucle externo que se utiliza en este script se repetirá 2 veces y el bucle interno se repetirá 3 veces. Entonces, la declaración de impresión se ejecutará durante, (2X3 = 6) 6 veces. Ejecute el script desde la terminal.

$ echo | awk 'END para (i = 1; i<=2; i++)
para (j = 1; j<=3; j++)
imprimir "Iterando fila", i, "y columna", j, "\ n"; '

Producción:

La siguiente salida aparecerá después de ejecutar el script.

Ejemplo 4: uso de bucle for con declaración de interrupción

rotura La declaración se usa en cualquier bucle para terminar el bucle antes de alcanzar la condición de terminación según la condición particular. En el siguiente script, el bucle for comenzará desde 3 y terminará cuando el valor de I es mayor que 20. Pero cuando el valor de I será igual a la variable num entonces la condición if será verdadera y el ciclo terminará para el rotura declaración.

$ echo | awk 'COMIENZO num = 7; FIN para (i = 3; i<=20; i++)
si (i == num) romper;
demás
imprimir "Valor actual de i =", i, "\ n"; '

Producción:

Aquí, si la condición es falsa para cuatro iteraciones cuando el valor de I es 3,4,5 y 6. Entonces, la siguiente salida se imprime para las cuatro iteraciones.

Ejemplo-5: uso de bucle for con instrucción continue

La instrucción Continuar se usa en cualquier bucle para omitir cualquier instrucción basada en una condición particular. Una matriz llamada producto se declara en el siguiente script. for-in El bucle se usa para iterar la matriz y verificar cada valor con "Software de oficina". Si el valor coincide, se imprimirá un mensaje no disponible omitiendo el mensaje disponible para la declaración de continuación; de lo contrario, se imprimirá un mensaje no disponible. Ejecute el script desde la terminal.

$ echo | awk 'BEGIN producto ["1001"] = "Antivirus";
producto ["1002"] = "Software de oficina";
product ["1003"] = "Software de dibujo";
producto ["1004"] = "HDD";
producto ["1005"] = "DVD"; FIN para (i en producto)
if (producto [i] == "Software de oficina")
producto de impresión [i], "no está disponible \ n";
Seguir;

producto de impresión [i], "está disponible", "\ n"; '

Producción:

La siguiente salida aparecerá después de ejecutar el script.

Ejemplo-6: Uso del bucle for en un archivo awk

Crea un archivo de texto llamado Ventas.TXT y agregue el siguiente contenido para practicar este ejemplo.

Ventas.TXT

2015 70000
2016 80000
2017 83000
2018 86000
2019 90000

Crea un archivo awk llamado cal_sal.awk con el siguiente script para calcular el monto total de ventas del archivo Ventas.TXT. El segundo campo contiene el monto de las ventas anuales en el archivo Ventas.TXT. En el guion, Las ventas matriz almacenará todos los valores del segundo campo y suma La variable se inicializa con 0 para sumar todos los valores de Ventas formación. próximo, for-in bucle se utiliza para iterar cada elemento de Las ventas matriz y agregue el valor con el suma variable. Por último, la declaración de impresión se utiliza para imprimir el valor de suma variable para mostrar el monto total de las ventas.

cal_sal.awk


ventas [i ++] = $ 2;
suma = 0;

FINAL
para (yo en ventas)

suma = suma + ventas [i];

imprimir la suma "Importe total de ventas =";

Ejecute el siguiente comando para ejecutar el script de cal_sal.archivo awk.

$ awk -f cal_sal.ventas awk.TXT

Producción:

Hay 5 registros en el Ventas.TXT archivo y la suma del monto de las ventas es 409000 que se imprime después de ejecutar el script.

Conclusión:

En este tutorial se intenta explicar los diferentes usos del bucle for en el comando awk. Espero que el lector tenga una idea clara sobre el uso del bucle for en el script awk y pueda usar el bucle for correctamente en la programación awk.

Cómo descargar y jugar Sid Meier's Civilization VI en Linux
Introducción al juego Civilization 6 es una versión moderna del concepto clásico introducido en la serie de juegos Age of Empires. La idea era bastant...
Cómo instalar y jugar a Doom en Linux
Introducción a Doom La serie Doom se originó en los años 90 después del lanzamiento del Doom original. Fue un éxito instantáneo y, desde ese momento e...
Vulkan para usuarios de Linux
Con cada nueva generación de tarjetas gráficas, vemos que los desarrolladores de juegos superan los límites de la fidelidad gráfica y se acercan un pa...