免费注册 查看新帖 |

Chinaunix

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

如何用shell 实现多行多列数据相加? [复制链接]

论坛徽章:
0
发表于 2009-07-14 21:13 |显示全部楼层
有如下行:\r\n10 10 10 \r\n20 20 20 \r\n30 30 30 \r\n40 40 40 \r\n...\r\n...\r\n... \r\n请们高手如何实现所有行对应列数据相加?\r\n请用shell 脚本实现,多谢各们指点。

论坛徽章:
0
发表于 2009-07-14 22:36 |显示全部楼层
你到底是要行相加还是列相加?看糊涂了

论坛徽章:
2
2015年亚洲杯之巴勒斯坦
日期:2015-02-15 12:11:292015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2009-07-15 00:25 |显示全部楼层

回复 #1 ywszzuli2004 的帖子

awk \'{a+=$1;b+=$2;c+=$3}END{print a,b,c}\' a.txt

论坛徽章:
0
发表于 2009-07-15 00:25 |显示全部楼层
如果列相加,可以:\r\n\r\n#!/bin/ksh\r\n#sum of cols\r\ni=1\r\ncols=`awk \'{print NF}\' test.file`\r\n while [ $i -le $cols ]\r\n do\r\n   echo \"Sum of $i col:\"\r\n   cat test.file | awk -v k=$i \'{(tot+=$k)};END{print tot}\'\r\n   i=`expr $i + 1`\r\n done\r\n\r\n其中test.file为放置数字的文件.

论坛徽章:
0
发表于 2009-07-22 15:59 |显示全部楼层
都是高手,不断学习中!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP