awk计算相同标签行的各字段的和的代码
时间:2014-09-15 02:21 来源:linux.it.net.cn 作者:it
awk计算相同标签行的各字段的和的代码,有需要的朋友不妨看看。
有这样的一段文件内容:
a 1 2 3
a 2 3 4
b 1 2 3
b 1 1 1
要求输出:
a 3 5 7
b 2 3 4
即要求实现:
将第一个字段相同的行,各列相加,并输出。
因为这里的每行字段都是相同的,所以比较简单。
复制代码代码如下:
#!/bin/bash
{
op[$1]++;
for(i=2;i<=NF;i++)
sum[$1,i] += $i
}
END{
for(x in op){
printf x" "
for(i=2;i<=NF;i++)
printf sum[x,i]" "
print ""
}
}
备注:
如果每行的字段数不一样,还需将使用一个变量来控制行的最多的字段数。
(责任编辑:IT)
awk计算相同标签行的各字段的和的代码,有需要的朋友不妨看看。
有这样的一段文件内容:
即要求实现:
复制代码代码如下:
#!/bin/bash
{ op[$1]++; for(i=2;i<=NF;i++) sum[$1,i] += $i } END{ for(x in op){ printf x" " for(i=2;i<=NF;i++) printf sum[x,i]" " print "" } }
备注: |