GUIDA AD AWK, 01 – eseguibile

Programmi awk su file eseguibile

 

Un programma awk può essere scritto su file proprio come gli script di shell con l’accortezza di indicare l’interpete “#!/usr/bin/awk -f” all’inizio della prima riga. Da notare il “-f” che permette la lettura del programma da file. Un’altra accortezza è quella di lasciare vuota la riga immediatamente successiva:

#!/usr/bin/awk -f
BEGIN {
for(i=1;i<=100;i++) {
if (i!=50) {
#printf("%4.1d ", i);
 print i
 }
 }
}

Similmente allo script precedente, troviamo un ciclo for che enumera da 1 a tutti i numeri interi successivi assegnandoli alla variabile “i”, fino a quando l’espressione “i<=100″ smette di essere vera. Stampa quindi i numeri da 1 a 100. La condizione if permetterà il print a tutti i numeri tranne 50 (i!=50). I numeri saranno scritti uno per riga (uno sotto l’altro).

Variando la semplice istruzione “print i” con la più complessa “printf(“%d “, i);” <link a inciso su printf> otterremo i numeri stampati uno dopo l’altro in successione.
printf è uno strumento di c molto completo. Ad esempio:
partendo ancora dallo script precedente possiamo inserire “printf(“%4.1d “, i)” per ottenere un output incolonnato, in cui ogni numero ha una sorta di “spaziatura”:

#!/usr/bin/awk -f
BEGIN {
for(i=1;i<=100;i++) {
if (i!=50) {
printf("%4.1d ", i);
 # print i
 }
 }
 }

L’output sarà incolonnato.

Idealmente, un programma awk dovrebbe seguire lo schema sintattico seguente, dove le parentesi graffe racchiudono sempre le azioni:

...
 [BEGIN { <azione> }]
 [BEGIN { <azione> }]
 ...
 <espressione-di-selezione> { <azione> }
 ...
 [END { <azione> }]
 [END { <azione> }]
 ...

————————————

INDICE

Lascia una risposta

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>