精华] awk中如何用print输出单引号,双引号。

jackxiang 2010-1-22 18:09 | |
用\转义好像不行耶!
如:
echo "something" | awk '{print "\'"}'
时提示输入下一行,但下一行输入"
报错:
awk: cmd. line:1: {print "\}'
awk: cmd. line:1:        ^ unterminated string
谁来帮小弟一把!

awk中打印单引号


碰巧要用awk生成一段sql脚本,所以涉及到在语句中打印出单引号的问题.
   EG1: 当为字符串时         echo aaa | awk '{print "select * from A where name='\''TOM'\''"}'
   EG2: 当为一字段时         echo TOM | awk '{print "select * from A where name='\''"$1"'\''"}'
   EG3: 当为shell中变量时 key=TOM; echo aaa | awk '{print "select * from A where name='\'''$key''\''"}'

说明:把转义的单引号要用单引号括起来如 awk '{print "'\''"}'
   EG1:单引-双引-单引-转义单引-单引-keyStr-单引-转义单引-单引-双引-单引

   EG2:单引-双引-单引-转义单引-单引-双引-keyStr-双引-单引-转义单引-单引-双引-单引

   EG2:单引-双引-单引-转义单引-单引-单引-keyStr-单引-单引-转义单引-单引-双引-单引

注意 : awk中括在双引号中的三种特殊字符不被忽略:$ , \ , ` , 即双引号会解释字符串的特别意思,而单引号直接使用字符串输出

举个栗子:
cat bok.txt |awk '{print $1" "$2" "$3" "$4 " where uid='\''"$5"'\''"}'
update object_uploadVideo set raw_file_path='/upload/video/share/XXXXXXXX-7964-11e5-803e-d43d7e0625c8.mpg' where uid='XXXXXXXX-7964-11e5-803e-d43d7e0625c8'

cat /tmp/xxy_month_2.txt |awk '{print "select FQQ as QQNumber,count(*) as total_times from Tbl_ExchangeHistory where  FQQ='\''"$1"'\''  group by FQQ;"}';


http://blog.oracle.com.cn/index.php/42136/viewspace-4800.html
这个哥们好像更详细:http://www.cnblogs.com/emanlee/p/3620785.html
awk输出单引号,双引号
双引号:

awk '{print "\""}'        #放大:awk '{print "  \"  "}'

使用“”双引号把一个双引号括起来,然后用转义字符\对双引号进行转义,输出双引号。


单引号:

awk '{print "'\''"}'       # 放大: awk '{print  "  '  \  '  '   " }'

使用一个双引号“”,然后在双引号里面加入两个单引号‘’,接着在两个单引号里面加入一个转义的单引号\',输出单引号。
uuid输出双引号包裹起来示例:
cat bok.txt |awk '{print $1" "$2" "$3" "$4 " where uid=\""$5"\""}'
update object_uploadVideo set raw_file_path='/upload/video/share/XXXXXXXX-7964-11e5-803e-d43d7e0625c8.mpg' where uid=“XXXXXXXX-7964-11e5-803e-d43d7e0625c8”


awk处理特殊字符(原创)之反引号(``),反斜杠 backslash-escaped( \ ):
http://czmmiao.iteye.com/blog/1887660

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/2598/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2015-10-26 14:57
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]