Cómo usar para el bucle en el comando AWK

Cómo usar para el bucle en el comando AWK
El bucle se usa para ejecutar algunas declaraciones varias veces. La iteración del bucle en función de la condición de terminación o el número de elementos de matriz. Tres tipos de bucles son compatibles con cualquier lenguaje de programación. Porque el bucle es uno de ellos. Porque el bucle puede ser declarado por dos maneras. Simple For Loop contiene tres partes. Y otro para bucle es 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 utilizando varios ejemplos.

Sintaxis:

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

La primera parte se usa para inicializar la variable para comenzar para bucle. 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 incrementará o disminuirá la variable de inicialización en función de la primera parte.

  1. Declaración de entrada
para (variable en matriz/list)
declaraciones

por dentro El bucle se usa para realizar aquellas tareas donde no se soluciona el número de iteración del bucle. por dentro El bucle se usa principalmente para analizar una matriz o lista de datos. El bucle lee cada datos de la matriz o lista y almacena el valor a una variable en cada iteración.

Ejemplo-1: usando Simple for Loop

Se usa un sencillo para bucle en el siguiente script. Aquí, encimera La variable se inicializa en 10 y el bucle terminará cuando el valor de encimera es menos de 5. El script imprimirá el encimera valores de 10 a 5. Ejecute el comando desde el terminal.

$ Echo | Awk 'for (contador = 10; contador> = 5; contador)
Imprimir "Running for", Counter, "Times."," \ n "; '

Producción:

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

Ejemplo-2: usando el bucle for-in para leer una matriz

Una matriz llamada 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. por dentro El bucle se usa aquí para iterar cada índice desde la matriz e imprimir el nombre del cliente. Ejecute el script desde el terminal.

$ Echo | AWK 'Begin Customer ["4587"] = "Neil Johnson";
Cliente ["8953"] = "Ella Binte Nazir";
Cliente ["3455"] = "Bruce Hyslop";
Cliente ["6335"] = "Isabella";
End para (i en el cliente)
Imprima "El nombre de", i, "is", cliente [i]
'

Producción:

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

Ejemplo-3: usando el bucle anidado para el bucle

Cuando A For Loop se declara debajo de otro bucle para bucle, entonces se llama anidada para bucle. El bucle exterior que se usa en este script iterará por 2 veces y el bucle interno iterará por 3 veces. Entonces, la declaración de impresión se ejecutará para (2x3 = 6) 6 veces. Ejecute el script desde el terminal.

$ Echo | Awk 'End para (i = 1; i<=2; i++)
para (j = 1; j<=3; j++)
Imprima "iterating fila", i, "y columna", j, "\ n"; '

Producción:

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

Ejemplo-4: Uso de la declaración de bucle con break

romper La declaración se usa en cualquier bucle para terminar el bucle antes de alcanzar la condición de terminación en función de la condición particular. En el siguiente script, para el bucle comenzará a partir de 3 y terminará cuando el valor de i es mayor que 20. Pero cuando el valor de i será igual a la variable numer entonces la condición if será verdadera y el bucle terminará para el romper declaración.

$ Echo | AWK 'begin num = 7; End para (i = 3; i<=20; i++)
if (i == num) ruptura;
demás
Imprima "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 la instrucción COUP con continuar

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

$ Echo | AWK 'Begin Product ["1001"] = "Antivirus";
producto ["1002"] = "Software de oficina";
producto ["1003"] = "Software de dibujo";
producto ["1004"] = "HDD";
Producto ["1005"] = "DVD"; end para (i en el producto)
if (producto [i] == "software de oficina")
Producto de impresión [i], "no está disponible \ n";
continuar;

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

Producción:

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

Ejemplo-6: Uso de For Loop en el archivo AWK

Crear 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

Crear un archivo AWK con nombre CAL_SAL.asombrar 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 guión, Las ventas la matriz almacenará todos los valores del segundo campo y suma La variable se inicializa con 0 para agregar todos los valores de ventas formación. Próximo, por dentro el bucle se usa 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 ventas.

CAL_SAL.asombrar


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

FIN
para (i en ventas)

sum = suma+ventas [i];

Imprima la suma de "Venta total =";

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

$ awk -f cal_sal.ventas de AWK.TXT

Producción:

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

Conclusión:

Se intenta explicar diferentes usos de For Loop en el comando AWK en este tutorial. Esperanza, el lector obtendrá una idea clara sobre el uso de For Loop en el script AWK y capaz de usar For Loop correctamente en la programación AWK.