Nociones de programación en awk - Sentencias condicionales y bucles

10 - Sentencias condicionales y bucles

[editar]
Tutorial creado por Antonio Castro Snurmacher (Madrid 01/01/2000).. Extraido de: http://www.mononeurona.org/index.php?idp=462
27 de Octubre de 2005
'awk' es un lenguaje muy completo y no podía faltar las sentencias de ejecución condicional y de ejecución en bucle.

Algunos de los conceptos que vamos a comentar ya los hemos visto cuando hablamos de la programación en bash y no vamos a explicar con demasiado detalle cada tipo de sentencia. La sintaxis que usa awk no se parece a la sintaxis que ya hemos visto para bash. Se parece más a la sintaxis del lenguaje C. De todas formas los conceptos ya nos resultan familiares y usaremos algunos ejemplos para ilustrarlos.

Empezaremos describiendo la sintaxis de cada tipo de sentencia. Denominaremos acción a una sentencia simple o a una sentencia compuesta de la forma '{ sentencia1 ; sentencia2 ; ... }'

Sentencia condicional 'if'



if ( expresión_lógica )
accion1
[ else
accion2 ]



Sentencia condicional con los operadores '?' y ':'
expresion_lógica ? accion1 : accion2

Bucle 'while'
while ( expresión_lógica ) accion

Bucle 'do' 'while'
do accion while ( expresión_lógica )

Bucle 'for'
for ( inicializar_contador ; comprobar_contador ; modificar_contador ) accion

Dentro de los bucles podemos usar break para forzar la salida de un bucle o continue para saltar a la siguiente iteración.

Veremos de momento tan solo un ejemplo para la sentencia condicional 'if'.

Edite el siguiente fichero que llamaremos 'contabil4.awk'

|| BEGIN { FS="\|" ; }
/[0-9][0-9]\-[0-9][0-9]\-[0-9][0-9][0-9][0-9]\|/ {
if ( $3 >= 0) {
printf ("%3d, %s, %s, %s\n", NR, $1, $2, $3);
}
}
||


Vamos a ejecutar este ejemplo y vamos a ver su salida

|| $ awk -f contabil4.awk < contabil.dat 3, 01-01-1999, - , 96
7, 27-01-2000, INGRESO , 141200
11, 06-03-2000, INGRESO , 101300
14, 07-04-2000, INGRESO , 134000
17, 09-05-2000, INGRESO , 95000
21, 07-06-2000, INGRESO , 130000
25, 10-07-2000, INGRESO , 99000
28, 10-08-2000, INGRESO , 122355
30, 10-09-2000, INGRESO , 129000
34, 10-10-2000, INGRESO , 112000
||
[editar]

4 opiniones

bla,bla ,bla

no le entendi
no me ayudo

la informacion es muy poca no me sirve de nada
Mas o menos.

Hola me parece importante.
Operadores y expresiones.

No hay suficiente investigación.

Tutoriales relacionados con 'Nociones de programación en awk'

La palabra 'awk' se usa tanto para referirse a un lenguaje de manipulación de ficheros... Más »
Este documento Cómo está dedicado a todos los (pronto ex-)usuarios de DOS y Windows que... Más »

Autor y licencia de 'Nociones de programación en awk'


Tutorial de Antonio Castro Snurmacher (Madrid 01/01/2000).. Extraido de: http://www.mononeurona.org/index.php?idp=462 CopyLeft
Este trabajo está licenciado bajo la Creative Commons License. 1999-2005 © :: MonoNeurona.org ::
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.