Successivo: , Precedente: , Su: Dimensione costante   [Contenuti][Indice]


4.6.3 Trattare dati opzionali a fine record

A volte dati di larghezza fissa possono essere seguiti da ulteriori dati la cui lunghezza non è nota a priori. Tali dati possono essere o non essere presenti, ma nel caso che lo siano dovrebbe essere possibile elaborarli all’interno di un programma awk.

A partire dalla versione 4.2, per consentire di designare “tutto il resto del record dopo i campi a lunghezza fissa” gawk prevede la possibilità di aggiungere un carattere ‘*’ in fondo alla descrizione contenuta in FIELDWIDTHS. Ci può essere un solo carattere ‘*’, e dev’essere l’ultimo carattere diverso da uno spazio in FIELDWIDTHS. Per esempio:

$ cat fw.awk                        Visualizza il programma
-| BEGIN { FIELDWIDTHS = "2 2 *" }
-| { print NF, $1, $2, $3 }
$ cat fw.in                         Visualizza l’input dell’esempio
-| 1234abcdefghi
$ gawk -f fw.awk fw.in              Esegui il programma
-| 3 12 34 abcdefghi