[awk] mysql quote escapen

Pagina: 1
Acties:

  • Justin_Time
  • Registratie: Juni 2001
  • Laatst online: 17-07-2025
Dag mensen,

Ik ben bezig om via wat input bestanden netjes users toe te voegen aan een database ik kan alles netjes filteren maar nu wil ik met een printf statement de goede mysql query maken ik krijg het alleen niet voor elkaar om het ' teken als normaal character te weergeven ik heb iets als dit.

code:
1
2
3
cat sy.verschil | awk -F ":::" ' { printf "INSERT INTO `users` ( `id` , `name` , `username` , `email` , `password` , `use
rtype` ,, `block` , `sendEmail` , `gid` , `registerDate` , `lastvisitDate` ) VALUES ( ' ' , '%s', '%s' , '%s@domein.nl' \n ",
 $2, $1, $1 } '


Maar nu wil ik graag om de %s (de variablen) twee ' ' hebben... ik heb all van alles geprobeeert als /// // " " maar het wil maar niet lukken... Volgens de manual zou een simpele backslash moeten werken. Iemand een idee?

Elke dag dronken is ook een geregeld leven.


  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Misschien helpt het als je daadwerkelijk een backslash \ gebruikt ipv een zinloze rij ////// ?

Verwijderd

Dit probleem wordt uiteraard veroorzaakt doordat je het complete awk-programma tussen single-quotes zet. Het is overigens een bekend probleem dat je in elke awk-faq terug vinden kunt, maar probeer voor de grap dit eens:

code:
1
awk 'BEGIN { print "dit '"'"' is een quote" }' /dev/null


Het gaat dus om '"'"'