免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: shichunda

awk输出单引号 [复制链接]

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
发表于 2010-04-21 15:22 |显示全部楼层
回复 20# shichunda


    还有什么问题?

论坛徽章:
0
发表于 2010-04-21 19:34 |显示全部楼层
说起这个转义符号,我想起了这个:
awk '{print "the awk programming language" ,'\$1', "YES"}' 1.test

输出:
the awk programming language AAA YES
the awk programming language BBB YES
the awk programming language ABA YES

问题一:
按照黑哥的指教,应该分解为这样:
awk '{print "the awk programming language" ,'
\$1
', "YES"}'
shell进行解释之后传给awk时,awk看到的是这样的:{print "the awk programming language" ,$1,"YES"}
这样的吧?

问题二:
这里的\$1,意思是$被\转义后只是当作普通的字符$,而不是当作shell中的$1,因为shell中的$1是代表第一个参数,如果你写成awk '{print "the awk programming language" ,'$1', "YES"}' 1.test,那shell就认为$1是他的第一个参数了。我这样理解对吗?
还有,我们平时输入的awk '{print $1}' xx.file这种形式,实际上是在shell中用''把单引号中的{、$、}都给转义成为普通的字符了,这样理解对吗?

论坛徽章:
0
发表于 2010-04-22 08:59 |显示全部楼层
大家帮忙看一下啊

论坛徽章:
0
发表于 2010-04-22 22:08 |显示全部楼层
我再顶一次

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
发表于 2010-04-22 22:19 |显示全部楼层
回复 24# shichunda


    你理解对了,不用再顶了。

论坛徽章:
0
发表于 2010-04-23 00:09 |显示全部楼层
终于等到你了,谢谢

论坛徽章:
3
酉鸡
日期:2014-04-23 17:17:56丑牛
日期:2014-05-08 11:41:302015亚冠之德黑兰石油
日期:2015-08-03 11:14:27
发表于 2014-05-12 17:53 |显示全部楼层
学习下,mark下!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP