Successivo: Variabili d'ambiente, Precedente: Altri argomenti, Su: Invocare Gawk [Contenuti][Indice]
Capita spesso di voler leggere lo standard input assieme ad altri file. Per esempio, leggere un file, leggere lo standard input derivante da una pipe, e poi leggere un altro file.
Il modo di indicare lo standard input, con tutte le versioni di awk
,
è quello di usare un segno meno o trattino da solo, ‘-’. Per esempio:
qualche_comando | awk -f ilmioprogramma.awk file1 - file2
In questo caso, awk
legge prima file1, poi legge
l’output di qualche_comando, e infile legge
file2.
Si può anche usare "-"
per indicare lo standard input quando si leggono
i file con getline
(vedi la sezione Usare getline
da un file).
E si può perfino usare "-"
con l’opzione -f per
leggere il sorgente del programma dallo standard input
(vedi la sezione Opzioni sulla riga di comando).
In aggiunta, gawk
consente di specificare il
nome-file speciale /dev/stdin, sia sulla riga di comando che
quando si usa getline
.
Anche qualche altra versione di awk
include questa funzionalità,
ma non è standard.
(Alcuni sistemi operativi prevedono un file /dev/stdin
nel filesystem; comunque, gawk
elabora sempre
questo nome-file per conto suo [ossia non importa se il sistema
operativo rende disponibile il file o no].)