AWK中的单引号问题

5893阅读 0评论2010-07-25 greendays
分类:


这几天学习使用awk遇到个问题
如:我输入
awk '{print "  '\' '  "} '  xyz.txt 时输出就是单引号
但是当我将这个单引号的输出写成

  awk '{print " select * from bt "  '\' '  " "} '  xyz.txt 运行时就会报错 invalid char ''' in expression 

如果写成 awk '{print " select * from bt   '\' '   "} '  xyz.txt  输出就是select * from bt   ‘ 没有报错。


我理解的双引号是除了$ '  \不能关闭特殊含义,单引号是可以关闭$ '的特殊含义的.
希望高手讲解单引号和双引号的用法,或有什么具体的规则,谢谢


|  |  | 

\047 代替 '
__________________________________
有时候回答问题是信口开河......
因此不保证所有回复问题的答案的准确性.
如果正好是对的,那是碰到了死耗子..呵呵.
想着休息,不想做事!


|  |  | 

13问讲的很详细啊。
‘’可以去掉一切特殊字符的原始含义。
“”除了¥,\外,可以去掉其他字符的特殊含义


|  |  | 

  1. 可以这样:

  2. [root@gdcxserver root]# awk -v v="'" 'BEGIN{print v"ok"v}'
  3. 'ok'
复制代码
__________________________________
天下风云出我辈 皇图霸业谈笑中


|  |  | 


楼上的办法不错。同意使用。或是\047也可以
上一篇:字符串截取
下一篇:awk 中substr()函数用法