免费注册 查看新帖 |

Chinaunix

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

awk合并行问题-还望高手帮忙! [复制链接]

论坛徽章:
1
辰龙
日期:2014-05-22 11:38:58
11 [报告]
发表于 2012-03-27 17:09 |只看该作者
本帖最后由 winway1988 于 2012-03-27 19:24 编辑
  1. awk '/[A-Z]/{if(FNR>1){printf(",%d\n", sum);sum=0;}printf("%s",$1);next}{sum+=$1}END{if($0~/[A-Z]/)printf("\n");else printf(",%d\n",sum)}'
复制代码

论坛徽章:
0
12 [报告]
发表于 2012-03-27 17:14 |只看该作者
可以用,不错。回复 11# winway1988


   

论坛徽章:
0
13 [报告]
发表于 2012-03-27 17:18 |只看该作者
回复 11# winway1988

非常感谢,还有点问题
如果 包括“0”就会有问题。
AS
0
B
0
CFR
22
23
DF
23
1
22
4
E
23
   

论坛徽章:
0
14 [报告]
发表于 2012-03-27 17:22 |只看该作者
  1. awk -vRS="[A-Z]+" -vFS="\n" -vOFS="," 'NR>1{v=0; for(i=1;i<=NF;++i) v+=$i; print tag,v};{tag=RT}' ff
复制代码

论坛徽章:
0
15 [报告]
发表于 2012-03-27 17:24 |只看该作者
  1. awk '{if($0~/[0-9]+/){total+=$0}else{if(prename~/[^ ]+/){print prename","total};total=0;prename=$0}}END{if(prename~/[^ ]+/){print prename","total}}' data
复制代码

论坛徽章:
0
16 [报告]
发表于 2012-03-27 17:48 |只看该作者
回复 15# jiejie455
正在修改测试,感谢帮忙!
如有问题再请教!

   

论坛徽章:
0
17 [报告]
发表于 2012-03-27 18:01 |只看该作者
回复 15# jiejie455

sorry 再麻烦一下,
因为我的字母行中也有数字 ,导致匹配完,丢了一些行,能否再帮忙改改,谢谢!
AS_1
12
B
13
CFR
22
23
DF_2
23
1
22
4

   

论坛徽章:
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
18 [报告]
发表于 2012-03-27 18:13 |只看该作者
本帖最后由 jason680 于 2012-03-27 18:16 编辑

回复 17# kingdom_168

awk '/^[0-9]/{t+=$1;next}{if(NR==1){n=$0;next};print n","t;t=0;n=$0}END{print n","t}'
   

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
19 [报告]
发表于 2012-03-27 18:47 |只看该作者
本帖最后由 expert1 于 2012-03-27 20:55 编辑

awk 'BEGIN{FS="\n";RS="[a-zA-Z]+"} NR>1{for(i=1;i<=NF;i++)sum+=$i;print s";"sum;sum=0}{s=RT}
晕和mpstat 重复了

就是用字母做RS,filed相加,打印即可。RT就是匹配的RS。

论坛徽章:
0
20 [报告]
发表于 2012-03-28 11:41 |只看该作者
本帖最后由 hardie 于 2012-03-28 12:15 编辑

awk '{if ($0+0 != 0 || $0==0){a=a+$0}else{;if(NR!=1) a ;a=0;printf("%s,",$0) }}END{if(a) print a}' file
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP