Successivo: Getline file, Precedente: Getline semplice, Su: Getline [Contenuti][Indice]
getline
in una variabileSi può usare ‘getline var’ per leggere il record successivo
in input ad awk
nella variabile var. Non vien fatta
nessun’altra elaborazione.
Per esempio, supponiamo che la riga successiva sia un commento o una stringa
particolare, e la si voglia leggere senza innescare nessuna regola. Questa
forma di getline
permette di leggere quella riga e memorizzarla in una
variabile in modo che il ciclo principale di awk
che "legge una riga
e controlla ogni regola" non la veda affatto.
L’esempio seguente inverte tra loro a due a due le righe in input:
{ if ((getline tmp) > 0) { print tmp print $0 } else print $0 }
Prende la seguente lista:
wan tew free phore
e produce questo risultato:
tew wan phore free
Il comando getline
usato in questo modo imposta solo le variabili
NR
, FNR
e RT
(e, naturalmente, var).
Il record non viene
suddiviso in campi, e quindi i valori dei campi (compreso $0
) e
il valore di NF
non cambiano.