免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1646 | 回复: 4

有一awk问题请教,求各位大侠指导 [复制链接]

论坛徽章:
0
发表于 2011-01-24 15:46 |显示全部楼层
本帖最后由 linkejin 于 2011-01-24 15:47 编辑

我想对pclint的输出格式进行统计处理,其输出是这样的:

--- Module:  a.c
a.c    12      Warning 570:
a.c    13      Warning 440:

--- Module:  b.c
b.c    13      Warning 570:
with  a.c
b.c    22      Error 570:
b.c    33      Error 570:


我想统计各个c文件的告警次数,象a.c的话就是两次, b.c就是三次,--- Module:  b.c下面的a.c不参加统计。 我的想法是当发现Module字段时候,将a.c作为一个匹配字段,去匹配到下一个
Module之前的所有行,如果匹配上,那么count【a.c】++。现在的问题是我如果写匹配字符串。我试着使用awk中的一个变量来存储a.c,但是不知道怎么匹配。

论坛徽章:
0
发表于 2011-01-24 16:08 |显示全部楼层
你还用pclint,呵呵

awk不会,可以试试sed的,
去看看tim兄的帖子中的第二节"二、记数":
http://bbs.chinaunix.net/thread-1762006-1-1.html

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
发表于 2011-01-24 16:13 |显示全部楼层
本帖最后由 yinyuemi 于 2011-01-24 16:14 编辑

回复 1# linkejin
如果格式固定的话
  1. echo "--- Module:  a.c
  2. a.c    12      Warning 570:
  3. a.c    13      Warning 440:

  4. --- Module:  b.c
  5. b.c    13      Warning 570:
  6. with  a.c
  7. b.c    22      Error 570:
  8. b.c    33      Error 570:" |awk '/Module/{label=$3}{if($1==label){count[label]=count[label]+1}}END{for(i in count) print i,count[i]}'
  9. a.c 2
  10. b.c 3
复制代码

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
发表于 2011-01-24 16:20 |显示全部楼层
你还用pclint,呵呵

awk不会,可以试试sed的,
去看看tim兄的帖子中的第二节"二、记数":
xiaopan3322 发表于 2011-01-24 16:08


这个,这个,还是awk吧,sed更难了

论坛徽章:
0
发表于 2011-01-24 17:10 |显示全部楼层
回复 4# cjaizss


    原来可以用  ==来匹配啊,我晕,我一直以为awk里面匹配要用 $1 ~ //这种方式来匹配,是我孤陋寡闻了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会,8.5折限时优惠重磅来袭!
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。

限时8.5折扣期:2019年9月30日前


----------------------------------------

大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP