免费注册 查看新帖 |

Chinaunix

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

[文本处理] 每行累加 [复制链接]

论坛徽章:
6
程序设计版块每日发帖之星
日期:2016-05-11 06:20:00操作系统版块每日发帖之星
日期:2016-05-12 06:20:00每日论坛发贴之星
日期:2016-05-12 06:20:00操作系统版块每日发帖之星
日期:2016-05-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-31 06:20:00每日论坛发贴之星
日期:2016-05-31 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2018-03-17 21:33 |只看该作者 |倒序浏览
本帖最后由 1cpuer 于 2018-03-18 08:08 编辑

# [ /home/soio/1bs/awks ] {2018-03-17 21:23:03} : 1521292983:0;
# ༺ ༻   # ➜  awk '1' suo.m                                                
a1 2 4 6
b2 5 10 15
c3 3 6 9


# [ /home/soio/1bs/awks ] {2018-03-17 21:23:28} : 1521293008:0;
# ༺ ༻   # ➜  awk '{for(i=2;i<=NF;i++) sum+=$i} END{print "sum="sum}' suo.m
sum=60

# [ /home/soio/1bs/awks ] {2018-03-18 07:39:16} : 1521329956:0;
# ༺ ༻   # ➜  awk '{a = $2+$3+$4; for (i in a) print $1, i, a}' suo.m
a1  12
b2  30
c3  18

# i++ 为什么不行啦

# [ /home/soio/1bs/awks ] {2018-03-18 07:24:31} : 1521329071:0;
# ༺ ༻   # ➜  awk '{print $1,$2+$3+$4}' suo.m
a1 12
b2 30
c3 18

# 像这样;很别捏。 很多列就尴尬了

论坛徽章:
30
申猴
日期:2014-04-10 09:43:532015年亚洲杯纪念徽章
日期:2015-03-20 14:40:232015亚冠之阿尔纳斯尔
日期:2015-06-02 18:59:042015亚冠之阿尔希拉尔
日期:2015-06-30 15:22:572015亚冠之大阪钢巴
日期:2015-07-20 10:44:332015亚冠之阿尔纳斯尔
日期:2015-10-28 14:57:5215-16赛季CBA联赛之新疆
日期:2015-12-25 10:18:45黑曼巴
日期:2016-06-26 21:39:5315-16赛季CBA联赛之山西
日期:2016-07-25 21:54:2715-16赛季CBA联赛之北京
日期:2016-10-27 12:07:2315-16赛季CBA联赛之八一
日期:2017-07-07 16:39:0915-16赛季CBA联赛之吉林
日期:2017-09-04 12:14:43
2 [报告]
发表于 2018-03-18 09:09 |只看该作者
回复 1# 1cpuer

awk '{for(i=2;i<=NF;i++) sum+=$i;print $1,sum;sum=0}' file

论坛徽章:
6
程序设计版块每日发帖之星
日期:2016-05-11 06:20:00操作系统版块每日发帖之星
日期:2016-05-12 06:20:00每日论坛发贴之星
日期:2016-05-12 06:20:00操作系统版块每日发帖之星
日期:2016-05-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-31 06:20:00每日论坛发贴之星
日期:2016-05-31 06:20:00
3 [报告]
发表于 2018-03-18 11:25 |只看该作者
回复 2# zxy877298415

# ༺ ༻   # ➜  history | grep 'sum+='
15540  2018-03-17 19:03  awk '{sum+=$2;print $2}' txt.1
15541  2018-03-17 19:03  awk '{sum+=$2;print $sum}' txt.1
15542  2018-03-17 19:03  awk '{sum+=$2;print sum}' txt.1
15543  2018-03-17 19:04  awk '{sum+=$i;print $i}' txt.1
15544  2018-03-17 19:05  awk '{for(1=1;i<=NF;i++){sum+=$i;print $i}}' txt.1
15545  2018-03-17 19:05  awk '{sum+=$2;print sum}' txt.1
15670  2018-03-17 21:22  echo "1 2 3 4 5" | awk '{for(i=1;i<=NF;i++) sum+=$i} END{print "sum="sum}'
15671  2018-03-17 21:22  awk '{for(i=1;i<=NF;i++) sum+=$i} END{print "sum="sum}' suo.m
15672  2018-03-17 21:23  awk '{for(i=2;i<=NF;i++) sum+=$i} END{print "sum="sum}' suo.m
15674  2018-03-18 07:02  awk '{for(i=2;i<=NF;i++) sum+=$i} END{print "sum="sum}' suo.m
15685  2018-03-18 07:10  echo "1 2 3 4 5" | awk '{for(i=1;i<=NF;i++) sum+=$i} END{print "sum="sum}'
15686  2018-03-18 07:10  echo "1 2 3 4 5" | awk '{for(i=2;i<=NF;i++) sum+=$i} END{print "sum="sum}'
15687  2018-03-18 07:10  echo "1 2 3 4 5" | awk '{for(i=2;i<=NF;i++) sum+=$i} END{print $1,"sum="sum}'
15688  2018-03-18 07:11  awk '{for(i=2;i<=NF;i++) sum+=$i} END{print $1,"sum="sum}' suo.m
15689  2018-03-18 07:13  awk '{for(i=2;i<=3;i++) sum+=$i} END{print $1,"sum="sum}' suo.m
15690  2018-03-18 07:13  awk '{for(i=2;i<=NF;i++) sum+=$i} END{print $1,"sum="sum}' suo.m
15708  2018-03-18 07:26  awk '{for(i=2;i<=NF;i++) sum+=$i} END{print $1,"sum="sum}' suo.m
15709  2018-03-18 07:26  awk '{for(i=2;i<=NF;i++) sum+=$i} END{printf $1,"sum="sum}' suo.m
15710  2018-03-18 07:26  awk '{for(i=2;i<=NF;i++) sum+=$i} END{printf "sum="sum}' suo.m
15711  2018-03-18 07:26  awk '{for(i=2;i<=NF;i++) sum+=$i} END{printt "sum="sum}' suo.m
15712  2018-03-18 07:26  awk '{for(i=2;i<=NF;i++) sum+=$i} END{print "sum="sum}' suo.m
15713  2018-03-18 07:29  awk '{for(i=2;i<=NF;i++)a[$1]=NR;sum+=$i} END{print $1,"sum="sum}' suo.m
15737  2018-03-18 08:16  awk '{ for(i=2;i<=NF;i++) sum+=$i; for (i in a) print $1, sum}' suo.m
15738  2018-03-18 08:17  awk '{ for(i=2;i<=NF;i++) sum+=$i; for (i in a) print $1, i, a, sum}' suo.m
15805  2018-03-18 11:12  awk '{for(i=2;i<=NF;i++) sum+=$i;print $1,sum;sum=0}' suo.m


# [ /home/soio/1bs/awks ] {2018-03-18 11:13:58} : 1521342838:0;
# ༺ ༻   # ➜  awk '{ for(i=2;i<=NF;i++) sum+=$i; for (i in a) print $1, sum}' suo.m


# [ /home/soio/1bs/awks ] {2018-03-18 11:15:42} : 1521342942:0;
# ༺ ༻   # ➜  awk '{ for(i=2;i<=NF;i++) sum+=$i; print $1, sum}' suo.m
a1 12
b2 42
c3 60


# [ /home/soio/1bs/awks ] {2018-03-18 11:15:58} : 1521342958:0;
# ༺ ༻   # ➜  awk '{ for(i=2;i<=NF;i++) sum+=$i; print $1, sum;sum=0}' suo.m
a1 12
b2 30
c3 18


############
sum=0 #非常金典 ## 否则 b2 累加到42 ;c3 累加到 60
my # for (i in a)  ##  熟是多此一举
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP