Desde el comienzo de la serie Awk hasta la Parte 12, hemos estado escribiendo pequeños comandos y programas Awk en la línea de comandos y en scripts de shell respectivamente.

Sin embargo, Awk, al igual que Shell, también es un lenguaje interpretado, por lo tanto, con todo lo que hemos recorrido desde el inicio de esta serie, ahora puede escribir scripts ejecutables Awk.

De forma similar a como escribimos un script de shell, los scripts de Awk comienzan con la línea:

#! /path/to/awk/utility -f 

Por ejemplo en mi sistema, la utilidad Awk se encuentra en /usr/bin/awk, por lo tanto, iniciaría un script Awk de la siguiente manera:

#! /usr/bin/awk -f 

Explicando la línea anterior:

  1. #! – denominado Shebang, que especifica un intérprete para las instrucciones de un script
  2. /usr/bin/awk – es el intérprete
  3. -f – opción de intérprete, se utiliza para leer un archivo de programa

Dicho esto, vamos a sumergirnos ahora en ver algunos ejemplos de scripts ejecutables de Awk, podemos empezar con el sencillo script de abajo. Utiliza tu editor favorito para abrir un nuevo archivo de la siguiente manera:

$ vi script.awk

Y pega el código de abajo en el archivo:

#!/usr/bin/awk -f BEGIN { printf "%s\n","Writing my first Awk executable script!" }

Guarda el archivo y sal, luego haz el script ejecutable emitiendo el comando de abajo:

$ chmod +x script.awk

A continuación, ejecútelo:

$ ./script.awk
Salida de la muestra
Writing my first Awk executable script!

Un programador crítico por ahí debe estar preguntando, «¿dónde están los comentarios?», sí, también puedes incluir comentarios en tu script Awk. Escribir comentarios en su código es siempre una buena práctica de programación.

Ayuda a otros programadores que buscan a través de su código para entender lo que está tratando de lograr en cada sección de un script o archivo de programa.

Por lo tanto, puede incluir comentarios en el script de arriba como sigue.

#!/usr/bin/awk -f #This is how to write a comment in Awk#using the BEGIN special pattern to print a sentence BEGIN { printf "%s\n","Writing my first Awk executable script!" }

A continuación, vamos a ver un ejemplo en el que leemos la entrada de un archivo. Queremos buscar un usuario del sistema llamado aaronkilik en el archivo de cuentas, /etc/passwd, y luego imprimir el nombre de usuario, el ID del usuario y el GID del usuario de la siguiente manera:

Abajo está el contenido de nuestro script llamado second.awk.

#! /usr/bin/awk -f #use BEGIN sepecial character to set FS built-in variableBEGIN { FS=":" }#search for username: aaronkilik and print account details /aaronkilik/ { print "Username :",$1,"User ID :",$3,"User GID :",$4 }

Guarda el archivo y sal, haz el script ejecutable y ejecútalo como abajo:

$ chmod +x second.awk$ ./second.awk /etc/passwd
Muestra de salida
Username : aaronkilik User ID : 1000 User GID : 1000

En el último ejemplo de abajo, utilizaremos la sentencia do while para imprimir los números del 0 al 10:

Abajo está el contenido de nuestro script llamado do.awk.

#! /usr/bin/awk -f #printing from 0-10 using a do while statement #do while statement BEGIN {#initialize a counterx=0do { print x; x+=1;}while(x<=10)}

Después de guardar el archivo, haz que el script sea ejecutable como hemos hecho antes. Después, ejecútalo:

$ chmod +x do.awk$ ./do.awk
Muestra de salida
012345678910

Resumen

Hemos llegado al final de esta interesante serie de Awk, espero que hayas aprendido mucho de las 13 partes, como introducción al lenguaje de programación Awk.

Como mencioné desde el principio, Awk es un completo lenguaje de procesamiento de texto, por esa razón, puedes aprender más otros aspectos del lenguaje de programación Awk como variables de entorno, arrays, funciones (incorporadas & definidas por el usuario) y más allá.

Todavía hay partes adicionales de la programación Awk para aprender y dominar, por lo que, a continuación, he proporcionado algunos enlaces a importantes recursos en línea que puede utilizar para ampliar sus habilidades de programación Awk, estos no son necesariamente todo lo que necesita, también puede buscar libros útiles de programación Awk.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *