Precedente: Usare variabili, Su: Variabili [Contenuti][Indice]
Si può impostare qualsiasi variabile awk
includendo un
assegnamento di variabile tra gli argomenti sulla riga di comando quando
viene invocato awk
(vedi Altri argomenti).
Tale assegnamento ha la seguente forma:
variabile=testo
Con questo assegnamento, una variabile viene impostata o all’inizio
dell’esecuzione di awk
o tra la lettura di un file in input e il
successivo file in input.
Quando l’assegnamento è preceduto dall’opzione -v,
come nel seguente esempio:
-v variabile=testo
la variabile è impostata proprio all’inizio, ancor prima che sia eseguita la
regola BEGIN
. L’opzione -v e il suo assegnamento
deve precedere tutti gli argomenti nome-file, e anche il testo del programma.
(Vedi Opzioni per maggiori informazioni sull’opzione
-v.)
In alternativa, l’assegnamento di variabile è effettuata in un momento
determinato
dalla posizione dell’opzione tra gli argomenti "file in input", cioè dopo
l’elaborazione del precedente argomento "file in input". Per esempio:
awk '{ print $n }' n=4 inventory-shipped n=2 mail-list
stampa il valore del campo numero n
per tutti i record in input. Prima
che venga letto il primo file, la riga di comando imposta la variabile n
al valore quattro. Questo fa sì che venga stampato il quarto campo delle righe
del file inventory-shipped. Dopo la fine del primo file, ma prima
che inizi il secondo file, n
viene impostato a due, e quindi poi
viene stampato il secondo campo delle righe di mail-list:
$ awk '{ print $n }' n=4 inventory-shipped n=2 mail-list -| 15 -| 24 … -| 555-5553 -| 555-3412 …
Gli argomenti da riga di comando sono resi disponibili dal programma
awk
nel vettore ARGV
per poter essere esaminati esplicitamente
(vedi ARGC e ARGV).
awk
elabora i valori degli assegnamenti da riga di comando per
sequenze di protezione
(vedi Sequenze di protezione).
(a.b.)
Precedente: Usare variabili, Su: Variabili [Contenuti][Indice]