Cómo escribir scripts usando el lenguaje de programación Awk - Parte 13


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 comienzo de esta serie, ahora puede escribir scripts ejecutables Awk.

De manera similar a como escribimos un script de shell, los scripts 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 de arriba:

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

Dicho esto, ahora veamos algunos ejemplos de scripts ejecutables de Awk, podemos comenzar con el script simple a continuación. Utilice su editor favorito para abrir un nuevo archivo de la siguiente manera:

$ vi script.awk

Y pegue el siguiente código en el archivo:

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

Guarde el archivo y salga, luego haga que el script sea ejecutable emitiendo el siguiente comando:

$ chmod +x script.awk

A partir de entonces, ejecútelo:

$ ./script.awk
Writing my first Awk executable script!

Un programador crítico debe estar preguntando, "¿dónde están los comentarios?", Sí, también puede incluir comentarios en su script Awk. Escribir comentarios en su código siempre es una buena práctica de programación.

Ayuda a otros programadores que revisan su código a comprender lo que está tratando de lograr en cada sección de un archivo de programa o script.

Por lo tanto, puede incluir comentarios en el script anterior de la siguiente manera.

#!/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, veremos un ejemplo en el que leemos la entrada de un archivo. Queremos buscar un usuario del sistema llamado aaronkilik en el archivo de la cuenta,/etc/passwd, luego imprimir el nombre de usuario, el ID de usuario y el GID del usuario de la siguiente manera:

A continuación se muestra el contenido de nuestro script llamado second.awk.

#! /usr/bin/awk -f 

#use BEGIN sepecial character to set FS built-in variable
BEGIN { FS=":" }

#search for username: aaronkilik and print account details 
/aaronkilik/ { print "Username :",$1,"User ID :",$3,"User GID :",$4 }

Guarde el archivo y salga, haga que el script sea ejecutable y ejecútelo como se muestra a continuación:

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

En el último ejemplo a continuación, usaremos la instrucción do while para imprimir números del 0 al 10:

A continuación se muestra 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 counter
x=0

do {
    print x;
    x+=1;
}
while(x<=10)
}

Después de guardar el archivo, haga que el script sea ejecutable como lo hemos hecho antes. Luego, ejecútelo:

$ chmod +x do.awk
$ ./do.awk
0
1
2
3
4
5
6
7
8
9
10

Resumen

Hemos llegado al final de esta interesante serie 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 lenguaje de procesamiento de texto completo, por esa razón, puede aprender más sobre otros aspectos del lenguaje de programación Awk, como variables ambientales, matrices, funciones (integradas y definidas por el usuario) y más.

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

Enlaces de referencia: Programación en lenguaje AWK

Para cualquier comentario que desee compartir o preguntas, utilice el formulario de comentarios a continuación. Recuerde estar siempre conectado a Tecmint para obtener series más emocionantes.