ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Lenguaje De Programacion Awk


Enviado por   •  19 de Octubre de 2013  •  1.189 Palabras (5 Páginas)  •  302 Visitas

Página 1 de 5

Acerca de AWK.

AWK, cuyo nombre deriva de la primera letra de los apellidos de sus autores Alfred Aho, Peter Weinberger y Brian Kernighan, es un lenguaje de programación que fue diseñado con el objetivo de procesar datos basados sobre texto y una de las primeras herramientas en aparecer en Unix. Utiliza listas en un índice ordenado por cadenas clave (listas asociativas) y expresiones regulares. Es un lenguaje ampliamente utilizado para la programación de guiones ejecutables pues añade funcionalidad a las tuberías en los sistemas operativos tipo POSIX. Está incluido en las instalaciones básicas de prácticamente todas las distribuciones de GNU/Linux.

Estructura de los programas escritos en AWK.

El mandato awk utiliza un archivo o emisión de ordenes y un archivo o emisión de entrada. El primero indica como procesar al segundo. El archivo de entrada es por lo general texto con algún formato que puede ser un archivo o bien la salida de otro mandato.

La sintaxis general utilizada para el mandato awk utiliza el siguiente patrón:

awk 'expresión-regular { orden }'

Cuando se utiliza el mandato awk, éste examina el archivo de entrada y ejecuta la orden cuando encuentra la expresión regular especificada.

El siguiente modelo ejecutaría la orden al inicio del programa y antes de que sean procesados los datos del archivo de entrada:

awk 'BEGIN { orden }'

El siguiente modelo ejecutaría la orden al final del programa y después de que sean procesados los datos del archivo de entrada:

awk 'END { orden }'

El siguiente modelo ejecutaría la orden por cada una de las líneas del archivo de entrada:

awk '{ orden }'

Procedimientos.

A continuación se mostrarán ejemplos del uso de AWK.

El siguiente mandato específica que al inicio se imprima en la salida la frase "Hola mundo" y terminar el procesamiento.

awk 'BEGIN { print "Hola mundo"; exit }'

Lo anterior deberá devolver una salida como la siguiente:

Hola mundo

Si se genera el archivo prueba.txt del siguiente modo:

echo -e "Columna1\tColumna2\tColumna3\tColumna4\n" > ejemplo.txt

Y se visualiza con el mandato cat:

cat ejemplo.txt

Devolverá el siguiente contenido:

Columna1 Columna2 Columna3 Columna4

Si se utiliza el mandato awk para que solo muestre la columna 1 y la columna 3 del siguiente modo:

awk '{ print $1, $3}' ejemplo.txt

La salida devolverá lo siguiente:

Columna1 Columna3

Si se utiliza el mandato awk para que solo muestre la columna 3 y la columna 1, en ese orden, del siguiente modo:

awk '{ print $3, $1}' ejemplo.txt

La salida devolverá lo siguiente:

Columna3 Columna1

Si se añaden datos al archivo ejemplo.txt del siguiente modo:

echo -e "Dato1\tDato2\tDato3\tDato4\n" >> ejemplo.txt

echo -e "Dato5\tDato6\tDato7\tDato8\n" >> ejemplo.txt

echo -e "Dato9\tDato10\tDato11\tDato12\n" >> ejemplo.txt

Y se visualiza con el mandato cat:

cat ejemplo.txt

Devolverá el siguiente contenido:

Columna1 Columna2 Columna3 Columna4

Dato1 Dato2 Dato3 Dato4

Dato5 Dato6 Dato7 Dato8

Dato9 Dato10 Dato11 Dato12

Si se utiliza nuevamente el mandato awk para que solo muestre la columna 1 y la columna 3 del siguiente modo:

awk '{ print $1, $3 }' ejemplo.txt

La salida devolverá lo siguiente:

Columna1 Columna3

Dato1 Dato3

Dato5 Dato7

Dato9 Dato11

Si se utiliza el mandato awk del siguiente modo para que solo muestre solo la línea cuya columna contenga la expresión regular Dato5:

awk '/Dato5/ { print }' ejemplo.txt

La salida devolverá lo siguiente:

Dato5

...

Descargar como (para miembros actualizados)  txt (7 Kb)  
Leer 4 páginas más »
Disponible sólo en Clubensayos.com