Chinaunix
标题:
awk 数值求和
[打印本页]
作者:
寂寞卜孤单
时间:
2016-03-03 16:05
标题:
awk 数值求和
一 计算每行数值的和
输入数据
jack 70 80 90
tom 60 70 80
jenny 50 70 60
输出数据
jack 240
jenny 180
tom 210
二 计算所有数字 的和
输入数据
1 2 3 4 5
6 7 8 9 10
输出数据
55
作者:
yjh777
时间:
2016-03-03 16:08
如果是 jack 70 mike 80 petter 90 呢,应该输出什么格式?
作者:
haooooaaa
时间:
2016-03-03 16:09
awk '{for(i=3;i<=NF;i++)$2+=$i;NF=2}1'
awk -vRS='' '{for(i=2;i<=NF;i++)$1+=$i;NF=1}1'
复制代码
作者:
jason680
时间:
2016-03-03 16:20
本帖最后由 jason680 于 2016-03-03 16:29 编辑
回复
1#
寂寞卜孤单
$ cat F1
jack 70 80 90
tom 60 70 80
jenny 50 70 60
$ awk '{print $1,
$2+$3+$4
}' F1
jack 240
tom 210
jenny 180
$ cat F2
1 2 3 4 5
6 7 8 9 10
$ awk '{for(n=1;n<=NF;++n)
s+=$n
}END{print s}' F2
55
$ awk -vRS=" |\n" '{s+=$1}END{print s}' F2
55
作者:
寂寞卜孤单
时间:
2016-03-03 16:25
回复
3#
haooooaaa
awk -vRS='' '{for(i=2;i<=NF;i++)$1+=$i;NF=1}1'
这个,第一个数字没有被算进去啊
作者:
haooooaaa
时间:
2016-03-03 16:26
回复
5#
寂寞卜孤单
cyg@win /tmp$ more f
1 2 3 4 5
6 7 8 9 10
cyg@win /tmp$ awk -vRS='' '{for(i=2;i<=NF;i++)$1+=$i;NF=1}1' f
55
复制代码
作者:
我是一隻羊
时间:
2016-03-03 16:38
awk '($2+=$3+$4)&&NF=2'
awk -vRS='[ \n]' '{b=$0;while(getline a)b+=a}$0=b'
复制代码
作者:
jcdiy0601
时间:
2016-03-04 09:52
1.awk '{sum=$2+$3+$4;print $1,sum}' file
2.awk '{for(i=1;i<=NF;i++)sum+=$i}END{print sum}' file
作者:
hz_oracle
时间:
2016-03-04 13:19
awk 's=0;{for(i=1;i<=NF;i++)s=$s+i;{print $1 "\t" s}}' filename
作者:
bikong0411
时间:
2016-03-06 09:35
awk '{sum = 0;for(i=1;++i<=NF;){sum += $i;}print $1,sum}' urfile|sort -k1
awk -vRS='' '{for(i=0;i++<NF;){sum+=$i;}print sum}' urfile
复制代码
作者:
bikong0411
时间:
2016-03-06 09:42
awk '{$2=$2+$3+$4;NF=2;}1' urfile|sort -k1 不通用,但是针对这个没问题
复制代码
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2