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


4.10 Richiedere input usando 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.


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