Chinaunix

标题: awk system() 拼sql的问题 [打印本页]

作者: panwei789    时间: 2007-10-15 13:31
标题: awk system() 拼sql的问题
拼一个sql,
awk  '{system("mysql  -uuser -ppassword -h10.100.4.1  test  -e \47 select id,modify_dt from table where  id="    "\47" $3  "\47"        "\47")}' file;
  想在$3加在引号里面,但是结果标识为红色的"\47"  并没有起作用,加和不加一个样,这是怎么回事?另外我试过其它去掉引号特殊性的方法也不行,哪位能帮我解决一下,谢了。
作者: seeLnd    时间: 2007-10-15 14:02
awk  '{system("mysql  -uuser -ppassword -h10.100.4.1  test  -e \042 select id,modify_dt from table where  id="    "\047" $3  "\047"        "\042")}' file;

[ 本帖最后由 seeLnd 于 2007-10-15 14:20 编辑 ]
作者: panwei789    时间: 2007-10-15 15:46
ok,谢谢,不过还有一个问题,\042和\047 有什么区别?
作者: seeLnd    时间: 2007-10-15 18:24
原帖由 panwei789 于 2007-10-15 15:46 发表
ok,谢谢,不过还有一个问题,\042和\047 有什么区别?


\042 是 双引号, 这样写应该更好:

awk  '{system("mysql -uuser -ppassword -h10.100.4.1 test -e \"select id,modify_dt from table where id=\047" $3 "\047\"")}' file
作者: 寂寞烈火    时间: 2007-10-15 22:14
原帖由 panwei789 于 2007-10-15 15:46 发表
ok,谢谢,不过还有一个问题,\042和\047 有什么区别?

一个是单一个是双的八进制代码
作者: panwei789    时间: 2007-10-16 15:01
哦,知道了,多谢多谢




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2