shell如何将一行的数据求累加值?网上很多awk都是加列,不是行。 5
5个回答
展开全部
cat test
1 1 1 1
2 2 2 2
3 3 3 3
awk '{for(i=1; i<= NF; i++)sum+=$i;print sum;}sum=0' test //每行相加
4
8
12
awk '{for(i=1; i<= NF; i++)sum+=$i;print sum;}' test //前面行的总值加当前行。
4
12
24
12 =8+4,24=12+8+4自己看,能看懂吧!
1 1 1 1
2 2 2 2
3 3 3 3
awk '{for(i=1; i<= NF; i++)sum+=$i;print sum;}sum=0' test //每行相加
4
8
12
awk '{for(i=1; i<= NF; i++)sum+=$i;print sum;}' test //前面行的总值加当前行。
4
12
24
12 =8+4,24=12+8+4自己看,能看懂吧!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果每列数固定为N
直接awk '{print $1+$2+...+$N}'
直接awk '{print $1+$2+...+$N}'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用awk不仅可以计算行,也可以计算列,行列一起都可以计算。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
# echo "1 2 3 4 5" | awk '{for(i=1;i<=NF;i++) sum+=$i} END{print "sum="sum}'
sum=15
sum=15
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询