8.6.- Estructuras de control

Awk ofrece estructuras de control igual que en otros lenguajes de programación. La sintaxis viene heredada del lenguaje C.

La sentencia if–else es una sentencia para la toma de decisiones de awk.

La parte else es opcional.

Cuando solo hay una instrucción, las llaves “{ }” son opcionales.

Después de darle los permisos de ejecución, ejecutamos el script:

La sentencia for es más conveniente para contar las iteraciones de un bucle. Este comando de estructura de control contiene dos sintaxis:

Cuando solamente hay una instrucción, las llaves son opcionales.

  • Copia y ejecuta este script para ver el resultado, no te olvides de darle permiso de ejecución.

Más adelante trataremos las tablas asociativas con for.

La sentencia while es la sentencia de bucle más simple de awk. Ejecuta repetidamente una sentencia mientras una condición sea cierta.

  • Copia este ejemplo y ejecútalo para ver el resultado.

El bucle do es una variación de la sentencia de bucle while. El bucle do ejecuta la instrucción al menos una vez, después repite la instrucción mientras la condición siga evaluándose como cierta.

Al ejecutar este script obtenemos:

Imprime cada registro de entrada 10 veces. No es un ejemplo muy realista, ya que un while ordinario podría haber hecho lo mismo.

  • Haz tus propios experimentos, por ejemplo, una tabla de multiplicar…

La sentencia break permite interrumpir el  bucle for, while o do–while.

Lo ejecutamos…

La sentencia continue, al igual que break, se usa solamente dentro de un bucle for, while o do–while. Lo que hace es saltarse todas las sentencias que falten por ejecutarse dentro del cuerpo del bucle y volver a chequear automáticamente la condición del bucle. Contrasta con la sentencia break, en que ésta produce directamente un salto fuera del bucle.

  • Con lo aprendido ensaya diversas opciones para la asignación de los comandos que acabamos de tratar.