Búsqueda de sitios web

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 de 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 visto desde el comienzo de esta serie, ahora puedes escribir scripts ejecutables de Awk.

De manera similar a cómo 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 está ubicada 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 de 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, profundicemos ahora en 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

Luego ejecútelo:

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

Un programador crítico debe preguntarse: “¿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 a revisar su código para comprender 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 en el que leemos la entrada de un archivo. Queremos buscar un usuario del sistema llamado aaronkilik en el archivo de cuenta, /etc/passwd, luego imprimir el nombre de usuario, el ID de usuario y el nombre de usuario. GID de la siguiente manera:

A continuación se muestra el contenido de nuestro script llamado segundo.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
Salida de muestra
Username : aaronkilik User ID : 1000 User GID : 1000

En el último ejemplo a continuación, usaremos la sentencia 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 hicimos antes. Luego ejecútelo:

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

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 lenguaje de procesamiento de texto completo, por esa razón, puedes 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 que aprender y dominar, por lo que, a continuación, proporcioné algunos enlaces a importantes recursos en línea que puede utilizar para ampliar sus habilidades de programación de Awk. Estos no son necesariamente todo lo que necesita, también puede buscar Busque libros útiles de programación Awk.

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

Para cualquier idea que desee compartir o preguntas, utilice el formulario de comentarios a continuación. Recuerde permanecer siempre conectado a Tecmint para ver más series interesantes.