今天早上有个小问题难住了,在sql中的insert语句中需要打印单引号。
awk '{print "insert into webconfig (domain,webdir) values("$1","$2")"";"}'
因为需要打印出$1,$2变量而且需要单引号,试了很多种方法都不行,转义,双引号都已过了,都是不能输出。
最后参悟了一句话:
双引号会解释字符串的特别意思,而单引号直接使用字符串输出。
因为语句包含在print中的双引号所有里面包含的符号都解释,而单引号是不解释的。
更改后代码如下:
awk '{print "insert into webconfig (domain,webdir) values('\''"$1"'\'','\''"$2"'\'')"";"}'
即:单引号,反斜杠,单引号,单引号。输出单引号
此方法同样适用于perl.
本文转自 mcshell 51CTO博客,原文链接:http://blog.51cto.com/mcshell/484603,如需转载请自行联系原作者