免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: zooyo
打印 上一主题 下一主题

[游戏娱乐] 2012年ChinaUnix社区Shell编程大赛 [结束评审 公布部分答案](获奖名单已公布-5-24) [复制链接]

论坛徽章:
0
111 [报告]
发表于 2012-07-25 11:10 |只看该作者
可惜没能参加这个活动

论坛徽章:
0
112 [报告]
发表于 2012-08-16 13:42 |只看该作者
send_linux 发表于 2012-04-09 11:42
谢谢各位评委的辛苦总结,下面是参考答案:


第8题的\w* 是什么意思?

论坛徽章:
3
CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52
113 [报告]
发表于 2012-11-02 16:15 |只看该作者
第二题:awk '/foo1/,/foo2/'
        sed -n '/foo1/,/foo2/p'
        实现的功能一样么?

-------------------------------------------------------------------------
花了3个小时,终于弄明白了。
/foo1/,/foo2/  这个要匹配的是 以foo1开头,foo2结尾之间所有的字段。
用个例子简单点说,就是:
awk 认为 foo1 foo2 这2个字段在一行时,附合以foo1开头,foo2结尾。而
sed  认为 foo1 foo2 这2个字段在一行时,不符合要求。

cat file
foo1 foo2
foo2
foo1
xxx
yyy
foo2
zzz

awk '/foo1/,/foo2/' file
foo1 foo2  (awk认为这行符合要求,所以下行重新开始)
foo1
xxx
yyy
foo2

sed -n '/foo1/,/foo2/p' file
foo1 foo2  (sed认为这行不符合,所以向下匹配)
foo2
foo1
xxx
yyy
foo2
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP