Successivo: Timeout in lettura, Precedente: Righe multiple, Su: Leggere file [Contenuti][Indice]
getline
Finora abbiamo ottenuto i dati di input dal flusso di input principale di
awk
: lo standard input (normalmente la tastiera, a volte
l’output di un altro programma) o i
file indicati sulla riga di comando. Il linguaggio awk
ha uno
speciale comando predefinito chiamato getline
che
può essere usato per leggere l’input sotto il diretto controllo dell’utente.
Il comando getline
è usato in molti modi diversi e
non dovrebbe essere usato dai principianti.
L’esempio che segue alla spiegazione del comando getline
comprende del materiale che ancora non è stato trattato. Quindi, è meglio
tornare indietro e studiare il comando getline
dopo aver rivisto
il resto
di questo Documento
e avere acquisito una buona conoscenza di come funziona awk
.
Il comando getline
restituisce 1 se trova un record e 0 se
trova la fine del file. Se si verifica qualche errore cercando di leggere
un record, come un file che non può essere aperto, getline
restituisce -1. In questo caso, gawk
imposta la variabile
ERRNO
a una stringa che descrive l’errore in questione.
Se il messaggio di errore ERRNO
indica che l’operazione di I/O può
essere ritentata e la variabile PROCINFO["input", "RETRY"]
è
impostata a 1, getline
restituisce un codice di ritorno -2
invece che -1, e si può provare a chiamare ulterioriormente
getline
. Vedi la sezione Elaborare ulteriore input dopo certi errori di I/O per ulteriori
informazioni riguardo a questa funzionalità.
Negli esempi seguenti, comando sta per un valore di stringa che rappresenta un comando della shell.
NOTA: Quando è stata specificata l’opzione --sandbox (vedi la sezione Opzioni sulla riga di comando), la lettura di input da file, pipe e coprocessi non è possibile.
• Getline semplice | Usare getline senza argomenti.
| |
• Getline variabile | Usare getline in una variabile.
| |
• Getline file | Usare getline da un file.
| |
• Getline variabile file | Usare getline in una variabile da un
file.
| |
• Getline pipe | Usare getline da una pipe.
| |
• Getline variabile pipe | Usare getline in una variabile da una
pipe.
| |
• Getline coprocesso | Usare getline da un coprocesso.
| |
• Getline variabile coprocesso | Usare getline in una variabile da un
coprocesso.
| |
• Note su getline | Cose importanti da sapere su getline .
| |
• Sommario di getline | Sommario delle varianti di getline .
|
Successivo: Timeout in lettura, Precedente: Righe multiple, Su: Leggere file [Contenuti][Indice]