[PLUTO-help] Re: awk
sabatino
sabatino.palladino a aliceposta.it
Lun 4 Dic 2006 09:41:57 CET
Alle 15:23, venerdì 1 dicembre 2006, Gian Uberto Lauri ha scritto:
> >>>>> "AB" == Andrea Bencini <andrea.bencini a tin.it> writes:
>
> AB> Ho trovato (mi hannodato) queste soluzioni che funzionano
> AB> ACC_INFO=`awk /$RIC/' { print $3 }' /etc/passwd`
> AB> ACC_INFO=`awk '/'$RIC'/ { print $3 }' /etc/passwd`
> AB> ACC_INFO=$(awk "/$RIC/ {print \$3 }" /etc/passwd)
>
> L'unica che funziona con gawk è la terza...
> che ricordi io il pattern di selezione
> della riga è all'interno delle istruzioni awk, non prima.
Fatto sta che io ho provato tutte e tre le
espressioni e funzionano.
Allora, la sintassi di awk è:
Prima vanno le opzioni (che sono facoltative).
Se non è specificata l'opzione -f allora il
primo argomento che non e` una opzione è
una stringa contenente il programma.
Gli argomenti successivi sono file
Se è specificata l'opzione -f... et cetera
Ora il programma contiene degli spazi
e bisogna passarlo come una stringa ad
awk (tutte le versioni, non sola la gawk)
e da questo deriva la necessità di usare
le virgolette o gli apici per delimitare
il programma.
Ma questo è un affare della shell, non vedo
cosa ci azzecca usare gawk o meno.
I tre modi proposti per il programma sono
solo alcuni modi validi per passare una
stringa unica effettuando una espansione dei
parametri, ne esistono altri e solo la fantasia
del programmatore ne limita il numero.
I primi due metodi non funzionano se l'espansione
della variabile $RIC contiene uno spazio ma questo,
torno a ripetere, è affare della shell, gawk non
ci azzecca niente.
--
Sabatino
......
Non voglio i mille baci che diede Lesbia a Catullo,
pochi baci vuole chi riesce a contarli.
M. Valerio Marziale
(versione libera)
More information about the pluto-help
mailing list