Con il comando awk sfogliate ac­cu­ra­ta­men­te i file dando loro istru­zio­ni per eseguire de­ter­mi­na­te azioni. La base di questo comando di Linux risale al 1977.

Cos’è il comando awk di Linux?

Linux dispone di un lin­guag­gio di scripting e pro­gram­ma­zio­ne, awk, con il quale è possibile valutare e mo­di­fi­ca­re i file. Questo lin­guag­gio esiste dal 1977 e il suo nome risale ai tre svi­lup­pa­to­ri Alfred Aho, Peter Wein­ber­ger e Brian Kernighan. Lo strumento si utilizza tramite la riga di comando o SSH (Secure Shell). In maniera analoga al comando grep di Linux e con l’aiuto del comando awk, nei file vengono ricercati de­ter­mi­na­ti schemi fissi per poi essere mo­di­fi­ca­ti au­to­ma­ti­ca­men­te in base a de­ter­mi­na­ti parametri al ve­ri­fi­car­si di de­ter­mi­na­te cir­co­stan­ze.

Come funziona il comando awk?

Il comando awk utilizza una com­bi­na­zio­ne di con­di­zio­ni e istru­zio­ni. Quando viene eseguito, scorre il ri­spet­ti­vo file riga per riga e controlla ogni nuova riga alla ricerca della con­di­zio­ne definita. Se questa è presente per la riga corrente, viene eseguita l’istru­zio­ne cor­ri­spon­den­te. Se non è stata me­mo­riz­za­ta alcuna con­di­zio­ne, l’istru­zio­ne viene eseguita per ogni singola riga. Se non viene me­mo­riz­za­ta alcuna istru­zio­ne, viene eseguita solo l’istru­zio­ne standard della riga di input. Ad esempio, in Linux è possibile uti­liz­za­re awk per ricercare nei file de­ter­mi­na­ti termini o schemi.

Come si presenta la sintassi del comando awk?

La sintassi del comando awk di Linux è la seguente:

$ awk [opzioni] "condizione {istruzioni}" [file di output]
shell

Quali sono le opzioni del comando awk su Linux?

Sono possibili tre opzioni:

  • -F [se­pa­ra­to­re]: con questa opzione spe­ci­fi­ca­te il se­pa­ra­to­re di un file. Il valore pre­de­fi­ni­to è uno spazio.
  • -f [nome del file]: questa opzione specifica il file in cui viene eseguito il comando awk.
  • -v: questa opzione viene uti­liz­za­ta per ag­giun­ge­re una variabile.

Esempio per il comando awk

Per aiutarvi a capire come uti­liz­za­re awk, vi mo­stre­re­mo il suo fun­zio­na­men­to con un semplice esempio. Per farlo, uti­liz­zia­mo un semplice file chiamato esempio.txt, che contiene un elenco di città, paesi e con­ti­nen­ti in singole colonne. Il risultato si presenta così:

Città Paese Continente
Berlino Germania Europa
Parigi Francia Europa
Hanoi Vietnam Asia
Abuja Nigeria Africa
shell

Se ora de­si­de­ra­te vi­sua­liz­za­re l’intero file, uti­liz­za­te il comando seguente:

$ awk "{print $0}" esempio.txt
shell

La cosa si fa più in­te­res­san­te se decidete di vi­sua­liz­za­re solo alcune colonne. Nel nostro esempio, la prima e la terza:

$ awk "{print $1, $3}" esempio.txt
shell

In questo caso si otterrà:

Berlino Europa
Parigi Europa
Hanoi Asia
Abuja Africa
Vai al menu prin­ci­pa­le