awk erzeugung sql-string aus datei

ux2

ux2

Grendel Kleinbell
AWK macht nicht das was ich will

Gelesen wird aus einer Datei bzw einer DB

Code:
 echo "select concat(tld,':',domain) from log.dom;" | mysql -u user -ppassword -B -s | awk -F: '{ print "insert into test.test (tld,dom) values (\""$1"\",\""$2"\"); "}'

Heraus kommt:
Code:
insert into test.test (tld,dom) values ("at","me");

Herauskommen soll aber
Code:
insert into dom.dom (tld,dom) values ('at','me') ;

gibt es dazu eine Möglichkeit welche die richtigen Anführungszeichen erzeugt?
 
Du könntest mit printf arbeiten:

Code:
awk -F: '{printf "insert into test.test (%c%s%c,%c%s%c);\n",39,$1,39,39,$2,39}'

Gruss, Xanti
 
Hallo
Da du keine Informationen zu deinem AWK Script bringst, gehe ich davon aus dass du das in den ausgegebenen Daten ändern willst.
Dabei reicht schon ein einfaches tr [\"] [\'] auf die Daten anzuwenden.
Das setzt natürlich vorraus, dass alle " durch ' ersetzt werden sollen.

$ echo \"wort\"|tr [\"] [\']
'wort'

Gruß Wolfgang
 
Wolfgang schrieb:
Hallo
Da du keine Informationen zu deinem AWK Script bringst, gehe ich davon aus dass du das in den ausgegebenen Daten ändern willst.
Dabei reicht schon ein einfaches tr [\"] [\'] auf die Daten anzuwenden.
Das setzt natürlich vorraus, dass alle " durch ' ersetzt werden sollen.
Gruß Wolfgang

Hallo Wolfgang, danke für den Tipp, für mysql bevorzuge ich xantis Loesung :

mein Danke geht an euch beide
Gruss Michael
 

Ähnliche Themen

Prblem mit zeilenweises auslesen von Datei und schreiben nach mysql

Mit awk ein textfile parsen und SQL daraus erzeugen.

dovecot und postfix Konfiguration Problem

Xubuntu - AVR32-linux crosscompile sqlite

AWK und Schleifen

Zurück
Oben