[Soci SLIP] awk, printf

Paolo Craveri pcraveri a gmail.com
Ven 1 Feb 2008 09:42:54 CET


Pur non avendo istinti suicidi dopo aver letto l'howto segnalatomi per
connetere il pc linux alla rete windows, credo di aver collezionato
nel giro di qualche giorno problemi che paiono non aver risposte.

Eccone uno:

ho  un semplice file di testo:

paolo a paolo-laptop:~$ cat categorie.txt
mele|1
pere|2
patate|3


che voglio formattare con awk  (il file è ovviamente di prova e
minimale, in realtà sto lavorando su liste abbastanza lunghe per
creare, tramite uno script bash, una serie di istruzioni SQL) ma non
giungo al risultato voluto:

paolo a paolo-laptop:~$  cat categorie.txt | awk '{FS="|"}{printf
"categoria=%s and codice=%i\n", $1,$2}'
categoria=mele|1 and codice=0
categoria=pere and codice=2
categoria=patate and codice=3

i problemi sono:
1) alla prima riga al campo codice viene attribuito il valore 0 quando
dovrebbe essere 1 ed inoltre categoria=mele|1 non è corretto: pare che
awk non riconosca il carattere di field separator;
2) vorrei che l'output contenesse i nomi delle categorie tra apici
singoli, così:

categoria='mele' and codice=0
categoria='pere' and codice=2
categoria='patate' and codice=3

ma, malgrado abbia fatto numerosi tentativi, non sono riuscito ad
inserire nella stringa fornita a printf la sintassi giusta (escape, \,
''',ecc.) per stampare in output gli apici singoli.


Ho già postato questo quesito su forum.ubuntu-it.org ma senza avere
risposte...la sfida è lanciata.

Qualcuno sa aiutarmi?

Grazie e ciao.
-- 
-- 
Craveri Paolo Livio

Lat. 44° 39' 11.08'' N  Long. 7° 23' 25.26'' E
-------------------------------------------------------------
Preferisco ricevere allegati in formato OpenDocument
http://it.wikipedia.org/wiki/OpenDocument
I prefer to receive attachments in OpenDocument format
http://en.wikipedia.org/wiki/OpenDocument

http://www.gnu.org/philosophy/no-word-attachments.it.html




Maggiori informazioni sulla lista Soci