Dall’inizio della serie Awk fino alla Parte 12, abbiamo scritto piccoli comandi e programmi Awk rispettivamente sulla linea di comando e in script di shell.

Tuttavia, Awk, proprio come Shell, è anche un linguaggio interpretato, quindi, con tutto quello che abbiamo percorso dall’inizio di questa serie, è ora possibile scrivere script Awk eseguibili.

Similmente a come scriviamo uno script di shell, gli script Awk iniziano con la linea:

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

Per esempio sul mio sistema, l’utilità Awk si trova in /usr/bin/awk, quindi, inizierei uno script Awk come segue:

#! /usr/bin/awk -f 

Spiegando la linea sopra:

  1. #! – indicato come Shebang, che specifica un interprete per le istruzioni di uno script
  2. /usr/bin/awk – è l’interprete
  3. -f – opzione interprete, usata per leggere un file di programma

Detto questo, immergiamoci ora nel guardare alcuni esempi di script eseguibili Awk, possiamo iniziare con il semplice script qui sotto. Usate il vostro editor preferito per aprire un nuovo file come segue:

$ vi script.awk

E incollate il codice qui sotto nel file:

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

Salvate il file e uscite, poi rendete lo script eseguibile dando il comando qui sotto:

$ chmod +x script.awk

Dopodiché, eseguitelo:

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

Un programmatore critico si starà chiedendo: “dove sono i commenti?”, sì, potete anche includere commenti nel vostro script Awk. Scrivere commenti nel vostro codice è sempre una buona pratica di programmazione.

Aiuta gli altri programmatori che guardano il vostro codice a capire cosa state cercando di ottenere in ogni sezione di uno script o di un file di programma.

Pertanto, potete includere commenti nello script qui sopra come segue.

#!/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!" }

Prossimo, guarderemo un esempio in cui leggiamo un input da un file. Vogliamo cercare un utente di sistema chiamato aaronkilik nel file dell’account, /etc/passwd, quindi stampare il nome utente, l’ID utente e il GID utente come segue:

Di seguito è riportato il contenuto del nostro script chiamato 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 }

Salvare il file e uscire, rendere lo script eseguibile ed eseguirlo come segue:

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

Nell’ultimo esempio che segue, useremo l’istruzione do while per stampare i numeri da 0-10:

Di seguito il contenuto del nostro script chiamato 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)}

Dopo aver salvato il file, rendere lo script eseguibile come abbiamo fatto prima. In seguito, eseguitelo:

$ chmod +x do.awk$ ./do.awk
Sample Output
012345678910

Summary

Siamo giunti alla fine di questa interessante serie Awk, spero che abbiate imparato molto da tutte le 13 parti, come introduzione al linguaggio di programmazione Awk.

Come ho detto all’inizio, Awk è un linguaggio di elaborazione del testo completo, per questo motivo, puoi imparare altri aspetti del linguaggio di programmazione Awk come le variabili ambientali, gli array, le funzioni (built-in & definite dall’utente) e oltre.

Ci sono ancora altre parti della programmazione Awk da imparare e padroneggiare, quindi, di seguito, ho fornito alcuni link a importanti risorse online che puoi usare per espandere le tue abilità di programmazione Awk, questi non sono necessariamente tutto ciò di cui hai bisogno, puoi anche cercare utili libri sulla programmazione Awk.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *