Successivo: Sommario dell'introduzione, Precedente: Altre funzionalità, Su: Per iniziare [Contenuti][Indice]
gawk
Ora che abbiamo visto qualcosa di quel che awk
è in grado di fare,
ci si potrà chiedere come awk
potrebbe tornare utile. Usando
programmi di utilità, criteri di ricerca sofisticati, separatori
di campo, istruzioni aritmetiche, e altri criteri di selezione, è possibile
produrre degli output molto più complessi. Il linguaggio awk
è
molto utile per fornire dei tabulati partendo da grandi quantità di dati
grezzi, per esempio riassumendo informazioni dall’output di altri
programmi di utilità come ls
.
(Vedi la sezione Un esempio più complesso.)
I programmi scritti con awk
sono normalmente molto più
corti dei loro equivalenti in altri linguaggi. Ciò rende i programmi
awk
facili da comporre e da utilizzare. Spesso i programmi
awk
possono essere scritti al volo a terminale, usati una volta sola
e buttati via. Poiché i programmi awk
sono interpretati, si può
evitare la (normalmente laboriosa) parte di compilazione nel ciclo tipico
dello sviluppo software, ossia edita-compila-prova-correggi.
In awk
sono stati scritti programmi complessi, compreso un assembler
completo, pluri-piattaforma per
microprocessori a 8-bit (vedi la sezione Glossario, per maggiori informazioni),
e un assembler di microcodice per un computer dedicato esclusivamente
al linguaggio Prolog.
Le possibilità dell’originale awk
erano messe a dura prova
da programmi di questa complessità, ma le versioni moderne sono più robuste.
Se capita di scrivere programmi awk
più lunghi di, diciamo,
qualche centinaio di righe, si potrebbe considerare la possibilità di usare
un linguaggio di programmazione differente da awk
.
La shell consente di ricercare stringhe ed espressioni regolari; inoltre
consente di usare in maniera efficace i comandi di utilità del sistema.
Python offre un piacevole equilibrio tra la facilità di una programmazione
ad alto livello, e la possibilità di interagire a livello di sistema
operativo.10
Successivo: Sommario dell'introduzione, Precedente: Altre funzionalità, Su: Per iniziare [Contenuti][Indice]