Declarar Arreglos en AWK
El lenguaje de programación Awk soporta el uso de arrays (arreglos). La vez pasada se publico algo sobre las variables en Awk. Los arreglos son una extensión de las variables. Son variables que contienen mas de un valor. Así como las variables los arrays también tienen nombre. En algunos lenguajes de programación el array tiene que ser declarado por eso se aloca memoria para el arreglo. Tambien los arreglos indices son enteros por lo general, por ejemplo array[1],array[2] etc.,
Arreglos Asociativos Awk
Awk solo soporta arreglos asociativos. Los arreglos asociativos son como los arreglos tradicionales con la diferencia que usan cadenas en vez de números como indices. Cuando usas un arreglo asociativo puedes imitar el arreglo tradicional usando una cadena numérica como indice.
Sintaxis:
Accediendo a los elementos del arreglo Awk
Si deseas acceder a un elemento en particular en un array, puedes hacerlo a través de su indice — arreglo[indice], lo cual te devolverá el valor del asignado en ese indice.
Si deseas acceder a todos los elementos del arreglo, puedes usar una sentencia bucle para ir leyendo todo el arreglo.
Ejemplo:
Este bucle ejecuta una acción por cada valor diferente que fue usado en cada indice del arreglo con la variable var configurada en ese indice.
Quitando elementos de un arreglo Awk
Si deseas remover un elemento de un indice particular del array, se usa la sentencia awk delete. Una vez que hayas borrado un elemento de un array no se podrá recuperar luego.
Sintaxis:
La siguiente sentencia borra todos los elementos de un arreglo. No hay una sola sentencia para borrar todos los elementos de un array, por tal motivo tienes que hacerlo a través de un bucle usando la sentencia awk delete.
Arreglos Asociativos Awk
Awk solo soporta arreglos asociativos. Los arreglos asociativos son como los arreglos tradicionales con la diferencia que usan cadenas en vez de números como indices. Cuando usas un arreglo asociativo puedes imitar el arreglo tradicional usando una cadena numérica como indice.
Sintaxis:
nombredelarreglo[cadena]=valor
Accediendo a los elementos del arreglo Awk
Si deseas acceder a un elemento en particular en un array, puedes hacerlo a través de su indice — arreglo[indice], lo cual te devolverá el valor del asignado en ese indice.
Si deseas acceder a todos los elementos del arreglo, puedes usar una sentencia bucle para ir leyendo todo el arreglo.
Ejemplo:
for (var in arreglo)
hacer
Este bucle ejecuta una acción por cada valor diferente que fue usado en cada indice del arreglo con la variable var configurada en ese indice.
Quitando elementos de un arreglo Awk
Si deseas remover un elemento de un indice particular del array, se usa la sentencia awk delete. Una vez que hayas borrado un elemento de un array no se podrá recuperar luego.
Sintaxis:
delete arreglo[indice];
La siguiente sentencia borra todos los elementos de un arreglo. No hay una sola sentencia para borrar todos los elementos de un array, por tal motivo tienes que hacerlo a través de un bucle usando la sentencia awk delete.
for (var in arreglo)
delete arreglo[var]
Comentarios