Successivo: , Precedente: , Su: Leggere file   [Contenuti][Indice]


4.8 Controllare come gawk sta dividendo i record

Come visto sopra, gawk fornisce tre metodi indipendenti per dividere i record in input in campi. Il meccanismo utilizzato dipende da quale delle tre variabili — FS, FIELDWIDTHS o FPAT — è stato definito per ultimo. Inoltre, un analizzatore di input che utilizzi l’API (Application Programming Interface) può scegliere di modificare il meccanismo di analisi dei record; si veda Analizzatori di input personalizzati per ulteriori informazioni riguardo a questa funzionalità.

Per ripristinare la normale divisione in campi dopo aver fatto uso di FIELDWIDTHS e/o FPAT, è sufficiente assegnare un valore alla variabile FS. Si può usare ‘FS = FS’ per farlo, senza bisogno di conoscere il valore corrente di FS.

Per determinare quale sia il tipo di divisione dei campi attiva al momento, si usi PROCINFO["FS"] (vedi la sezione Variabili predefinite con cui awk fornisce informazioni). Il valore è "FS" se si usa la maniera normale di divisione dei campi, "FIELDWIDTHS" se si usa la divisione in campi di lunghezza fissa, oppure "FPAT" se si una la divisione in campi in base al contenuto:

if (PROCINFO["FS"] == "FS")
    divisione normale in campi …
else if (PROCINFO["FS"] == "FIELDWIDTHS")
    divisione in campi a lunghezza fissa …
else if (PROCINFO["FS"] == "FPAT")
    divisione in campi in base al contenuto …
else
    divisione in campi da analizzatore di input API(funzionalità avanzata)

Quest’informazione è utile se si sta scrivendo una funzione che deve cambiare provvisoriamente FS o FIELDWIDTHS, leggere alcuni record e poi ripristinare le inpostazioni originali. Si veda (vedi la sezione Leggere la lista degli utenti per un esempio di una funzione di questo tipo.


Successivo: , Precedente: , Su: Leggere file   [Contenuti][Indice]