Cómo escribir guiones 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 los 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 visto desde el inicio de esta serie, ahora puede escribir scripts ejecutables de Awk.

De manera similar a como escribimos un script de shell, los guiones 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 una secuencia de comandos Awk de la siguiente manera:

#! /usr/bin/awk -f 

Explicando la línea de arriba:

  1. #! – referred to as Shebang, which specifies an interpreter for the instructions in a script
  2. /usr/bin/awk – is the interpreter
  3. -f – interpreter option, used to read a program file

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

$ vi script.awk

Y pega 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 el script ejecutable emitiendo el siguiente comando:

$ chmod +x script.awk

A partir de entonces, ejecútalo.

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

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

Ayuda a otros programadores que buscan en 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 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 donde 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 usuario ID y el usuario GID 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 el script ejecutable y ejecútelo de la siguiente manera:

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

En el último ejemplo a continuación, usaremos do and while statement para imprimir los números del 0-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. Después, ejecútalo:

$ 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 hayan aprendido mucho de las 13 partes, como introducción al lenguaje de programación Awk.

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

Aún hay partes adicionales de la programación de Awk para aprender y dominar, así que a continuación, le proporcioné algunos enlaces a recursos en línea importantes que puede utilizar para ampliar sus habilidades de programación de Awk. Estos no son necesariamente todo lo que necesita. fuera para útiles libros de programación de Awk.

Enlaces de referencia : la Guía del usuario de GNU Awk y la programación en lenguaje AWK

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