
Cuando mires todos los ejemplos de Awk que hemos cubierto hasta ahora desde el comienzo de la serie Awk, notarás que todos los comandos en cada ejemplo se ejecutan secuencialmente, uno tras otro.
Pero en algunos casos, es posible que queramos realizar algunas operaciones de filtrado de texto según ciertas condiciones, y aquí es donde entra en juego el método de declaración de control de flujo.
Hay varias declaraciones de control de flujo en la programación Awk, que incluyen:
- declaración si no
- para declaración
- mientras declaración
- hacer mientras declaración
- declaración de interrupción
- continuar declarando
- próxima declaración
- declaración del siguiente archivo
- declaración de retiro
Sin embargo, para el alcance de esta serie abordaremos: if-else
, for
, while
y do while
declaración. Recuerde, ya cubrimos cómo utilizar la siguiente declaración en la Parte 6 de esta serie de Awk.
1. declaración si-si no
sintaxis esperada if statement
Similar a la concha si declaración:
if (condition1) { actions1 } else { actions2 }
En la sintaxis anterior, condition1
y condition2
es una expresión Awk, y actions1
y actions2
Es la instrucción Awk la que se ejecuta cuando se cumplen las condiciones respectivas.
cuando condition1
Satisfecho significa que es verdad, entonces actions1
se ejecuta y if statement
salir o si no actions2
ser ejecutado.
este if statement
También puede extenderse a if-else_if-else
El comunicado es el siguiente:
if (condition1){ actions1 } else if (conditions2){ actions2 } else{ actions3 }
De esta forma, si condition1
es cierto, entonces actions1
se ejecuta y if statement
salir o si no condition2
se evalúa si es cierto, entonces actions2
se ejecuta y if statement
abandonar. Sin embargo, cuando condition2
es falso, actions3
se ejecuta y if statement
abandonar.
A continuación se muestra un ejemplo de uso if statements
tenemos una lista usuario y su edad guardar en archivo usuario.txt.
Sarah L 35 F Aaron Kili 40 M John Doo 20 M Kili Seth 49 M
Queremos imprimir una declaración que indique el nombre del usuario y si la edad del usuario es menor o mayor que 25 Años.
Podemos escribir un breve script de shell para realizar el trabajo anterior. El siguiente es el contenido del script:
#!/bin/bash awk ' { if ( $3Then save the file and exit, make the script executable, and run it as follows:
chmod +x test.sh ./test.shsalida de muestra:
User Sarah L is more than 25 years old User Aaron Kili is more than 25 years old User John Doo is less than 25 years old. User Kili Seth is more than 25 years old2. para declaración
Si desea ejecutar algunos comandos Awk en un bucle, entonces
for statement
Se le proporciona una forma adecuada de hacerlo, con la siguiente sintaxis:for ( counter-initialization; test-condition; counter-increment ){ actions }Aquí, el método se define simplemente para usar un contador para controlar la ejecución del bucle, primero debe inicializar el contador, luego ejecutarlo según la condición de prueba, realizar la acción si es verdadera y finalmente incrementar el contador. El ciclo termina cuando el contador no cumple la condición.
El siguiente comando Awk muestra cómo
for statement
Válido, donde queremos imprimir números. 0-10:awk 'BEGIN{ for(counter=0;counterSample Output:
0 1 2 3 4 5 6 7 8 9 103. mientras declaración
la sintaxis regular de
while statement
como sigue:while ( condition ) { actions }La condición es una expresión Awk y la acción es una lista de comandos Awk que se ejecutan cuando la condición es verdadera.
Aquí hay un guión para ilustrar el uso de mientras declaración Imprimir números 0-10:
#!/bin/bash awk ' BEGIN{ counter=0 ; while(counterSave the file and make the script executable, then run it:
chmod +x test.sh ./test.shsalida de muestra:
0 1 2 3 4 5 6 7 8 9 104. hacer mientras declaración
este
do-while
La afirmación es ciertawhile
La sintaxis de la declaración es la siguiente:do { actions } while (condition)La sutil diferencia es que en
do while
la instrucción Awk se ejecuta antes de evaluar la condición. Utilice el siguiente ejemplowhile statement
Arriba podemos explicar cómo utilizardo while
Cambiando el comando awk archivo de prueba El guión es el siguiente:#!/bin/bash awk ' BEGIN{ counter=0 ; do{ print counter; counter+=1 ; } while (counterAfter modifying the script, save the file and exit. Then make the script executable and execute it as follows:
chmod +x test.sh ./test.shsalida de muestra:
0 1 2 3 4 5 6 7 8 9 10en conclusión
Esta no es una guía completa para las declaraciones de control de flujo de awk, como mencioné antes, hay varias otras. declaración de control de flujo en mal estado.
No obstante, esta parte de la serie Awk debería brindarle una comprensión clara de cómo controlar la ejecución de los comandos de Awk en función de condiciones específicas.
También puede profundizar en las declaraciones de control de flujo restantes para comprender mejor el tema. Finalmente, en la siguiente parte de la serie Awk, comenzaremos a escribir guiones de Awk.
Para aquellos que buscan un recurso completo, hemos recopilado todos awk La serie de artículos está organizada en un libro con un total de 13 capítulos y 41 páginas, que cubren el uso básico y avanzado de Awk, así como ejemplos prácticos.
Nombre del producto | precio | compra |
---|---|---|
Libro electrónico: Guía de introducción a Awk para principiantes | $8.99 | [Buy Now] |