On 04/05/2011 12:18, Giovanni Pasini wrote: [cut]
infatti: se ho bisogno di usare la variabile in una *serie di comandi* a catena all'interno del ciclo for come nell'esempio di seguito, usando sed e/o awk la cosa sarebbe fattibile credo, ma il codice sicuramente un pò meno chiaro/leggibile, a mio parere. Quindi preferisco la formula con modifica di IFS.
Concordo; se si devono eseguire successioni di comandi per la stessa variabile forse è più chiaro usare bash rispetto ad awk; quest'ultimo lo vedo più che altro come un modo per estrarre campi da un file di testo preformattato... da passare poi alla bash
[cut]
Però questo dimostra come uno stesso problema lo si possa risolvere in tanti modi e come la shell non sia sempre quello più opportuno e semplice :)già
Giusto per continuare a scervellarsi, avevo anche provato un approccio misto, ma non funziona:
for loc in $(awk {'print "\047"$0"\047" '} foo_loc.txt) ;do echo $loc è una località stupenda; done
Il ciclo for interpreta il separatore (IFS), nel mio caso " ", al di la che sia o meno racchiuso tra apici. Non se ne esce o sbaglio io qualcosa? a solo scopo didattico, ma in tal caso avrei anch'io forse ridefinito IFS :)
Ivan