今天早上有个小问题难住了,在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.