Estructuras De Repeticion en AWK
AWK cuenta tambien con estructuras de repeticion, además de la estructura de control (if), las estructuras de control que existen en AWK sin: for, do y while y existen ciertas palabras de control quesólo tienen sentido dentro de un ciclo o repetición y estas son: break, next, continue. A continuación veremos como todas estas estructuras y palabras clave se relacionan entre sí.
Ciclo for
Existen dos maneras de iterar utilizando ciclos for en AWK, la primera es la tradicional de C. Con un valor inicial, condición de terminación e incremento.
for (i = 1; i<=10 ; i++)
print i;
exit
La segunda es iterando sobre los elementos de un array. Los arrays en AWK son asociativos, por lo que las variables tipo array se manejan diferente a los lenguajes tradicionales.
BEGIN { line[1] = "hola";
line[2] = "ke";
line[3] = "ase";
for(x in line)
print line[x];
exit;
}
Ciclo while
El ciclo while
revisa la condición primero, si la condición es verdadera,
entonces se ejecuta la lista de acciones. Después de que se ejecutan las
acciones, la condición se revisa de nuevo y si es verdadera, se ejecuta de
nuevo. Este proceso se repite hasta que la condición se vuelve falsa. Si la
condición regresa falsa en la primera iteración, las acciones nunca se ejecutan.
while (condicion)
acciones
Ciclo do-while
Los ciclos do-while
ejecutan el cuerpo del ciclo una vez antes de revisar las
condiciones y si son verdaderas continúa y si son falsas, se detiene.
sintaxis:
do
acción
while (condición)
Break
break
es una palabra clave que sólo puede utilizarse dentro del cuerpo de un
ciclo, y sirve para salir de él. Después del ciclo el código continua
normalmente.
Continue
Sólo sirve dentro de un ciclo, sirve para detener la ejecución de la iteración que se está llevando a cabo en ese momento, y continuar con la siguiente.
Next
next
detiene el procesamiento del registro actual y pasa al siguiente
registro, eso significa que no se procesan las reglas siguientes para el
registro.
Exit
La palabra exit
, puede usarse dentro y fuera de ciclos, lo que hace es
simplemente terminar el programa completamente en el momento en el que aparece.