免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4331 | 回复: 10
打印 上一主题 下一主题

perl 模式匹配 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-05-24 22:02 |只看该作者 |倒序浏览
请问各位大神,我想匹配D{blk_}这样的形式该怎么写啊?就是正则表达式,blk_后面还有其他字符串,比如有{blk_+},{blk_sh:}等等,我想直接匹配{blk_},统计下这一类一共有多少个...谢谢各位大神啦

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
2 [报告]
发表于 2016-05-24 23:20 |只看该作者
回复 1# wx654123

你总得上一段文本吧?
不然咋写呀?
   

论坛徽章:
1
操作系统版块每日发帖之星
日期:2016-06-12 06:20:00
3 [报告]
发表于 2016-05-24 23:28 |只看该作者
$cnt ++ if /D{blk_.+}/;

论坛徽章:
0
4 [报告]
发表于 2016-05-25 17:18 |只看该作者
回复 2# q1208c 就是图片里那样的,我想统计一下D{blk_}这一类有多少个


   

捕获.PNG (8.4 KB, 下载次数: 81)

就是这样的

就是这样的

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
5 [报告]
发表于 2016-05-25 17:22 |只看该作者
回复 4# wx654123
能否将文本贴出来,,,

   

论坛徽章:
0
6 [报告]
发表于 2016-05-25 17:25 |只看该作者
回复 5# sunzhiguolu 文本在楼上有,整个文本的话有点大


   

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
7 [报告]
发表于 2016-05-25 17:32 |只看该作者
回复 6# wx654123
你试下,
  1. perl -nle '{$S++ while(m/\bD\{blk_.*?\}/g)}END{print $S}' f
复制代码

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
8 [报告]
发表于 2016-05-25 17:46 |只看该作者
$ cat FILE
D{blk_blk} C{blk_blk}
D{blk_blk} B{blk_blk} D{blk_blk}
D{blk_-} D{blk_sh}

$ perl -lane '{$c+=grep{/D[{]blk_/}@F}END{print $c}' FILE
5

论坛徽章:
0
9 [报告]
发表于 2016-05-25 18:48 |只看该作者
回复 7# sunzhiguolu 太好了,谢谢你啦,另外,我对正则表达式这一块不太懂,大神能不能推荐我点学习资料啊,还有就是你给的这种linux命令的学习资料,谢谢啦!


   

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
10 [报告]
发表于 2016-05-25 19:03 |只看该作者
回复 9# wx654123
perl 命令行的资料, 我只有 Jason680 大神给的学习资料: (你也可以在网上搜下)
http://highdb.com/perl-one-line-command-%E4%BB%8B%E7%BB%8D/
http://www.perl.com/pub/2004/08/09/commandline.html

正则的话, <<学习正则表达式>> 这本书不知道适不适合你.


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP