Com escriure scripts amb el llenguatge de programació Awk - Part 13


Des del començament de la sèrie Awk fins a la part 12, hem estat escrivint petites ordres i programes Awk a la línia d'ordres i als scripts d'intèrpret d'ordres, respectivament.

Tanmateix, Awk, igual que Shell, també és un llenguatge interpretat, per tant, amb tot el que hem recorregut des de l'inici d'aquesta sèrie, ara podeu escriure scripts executables d'Awk.

De manera semblant a com escrivim un script de shell, els scripts Awk comencen amb la línia:

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

Per exemple, al meu sistema, la utilitat Awk es troba a /usr/bin/awk, per tant, començaria un script Awk de la següent manera:

#! /usr/bin/awk -f 

Explicant la línia anterior:

  1. #!: conegut com a Shebang, que especifica un intèrpret per a les instruccions d'un script
  2. /usr/bin/awk: és l'intèrpret
  3. -f: opció d'intèrpret, que s'utilitza per llegir un fitxer de programa

Dit això, anem a analitzar alguns exemples de scripts executables d'Awk, podem començar amb l'script senzill a continuació. Utilitzeu el vostre editor preferit per obrir un fitxer nou de la següent manera:

$ vi script.awk

I enganxeu el codi següent al fitxer:

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

Deseu el fitxer i sortiu i, a continuació, feu que l'script sigui executable emetent l'ordre següent:

$ chmod +x script.awk

A continuació, executeu-lo:

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

Un programador crític ha d'estar preguntant on són els comentaris?, sí, també podeu incloure comentaris al vostre script Awk. Escriure comentaris al vostre codi sempre és una bona pràctica de programació.

Ajuda a altres programadors que miren el vostre codi a entendre què esteu intentant aconseguir en cada secció d'un script o fitxer de programa.

Per tant, podeu incloure comentaris a l'script anterior de la següent 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ó, veurem un exemple on llegim l'entrada d'un fitxer. Volem cercar un usuari del sistema anomenat aaronkilik al fitxer del compte, /etc/passwd, i després imprimir el nom d'usuari, l'ID d'usuari i el GID d'usuari de la següent manera:

A continuació es mostra el contingut del nostre script anomenat 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 }

Deseu el fitxer i sortiu, feu que l'script sigui executable i executeu-lo de la següent manera:

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

En l'últim exemple següent, utilitzarem la instrucció do while per imprimir números del 0 al 10:

A continuació es mostra el contingut del nostre script anomenat 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)
}

Després de desar el fitxer, feu que l'script sigui executable com hem fet abans. Després, executeu-lo:

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

Resum

Hem arribat al final d'aquesta interessant sèrie Awk, espero que hàgiu après molt de les 13 parts, com a introducció al llenguatge de programació Awk.

Com he esmentat des del principi, Awk és un llenguatge de processament de text complet, per aquest motiu, podeu aprendre més altres aspectes del llenguatge de programació Awk, com ara variables ambientals, matrius, funcions (integrades i definides per l'usuari) i més enllà.

Encara hi ha parts addicionals de la programació Awk per aprendre i dominar, així que, a continuació, us he proporcionat alguns enllaços a recursos en línia importants que podeu utilitzar per ampliar les vostres habilitats de programació Awk, no són necessàriament tot el que necessiteu, també podeu consultar per trobar llibres útils de programació Awk.

Enllaços de referència: Programació en llenguatge AWK

Per a qualsevol reflexió o pregunta que vulgueu compartir, utilitzeu el formulari de comentaris a continuació. Recordeu estar sempre connectat a Tecmint per a sèries més emocionants.