使用分隔符来汇总来自不同文件的列

时间:2015-10-05 15:12:12

标签: python bash awk

我遇到类似问题Awk: extract different columns from many different files,但在我的情况下,我有很多文件作为输入(可以是40,可以是500),每一个都遵循乳胶格式,如

 #description & value1 & value2
    cut1 & XXX & YYY & ZZZ
    cut2>B & QQQ & TTT & GGG

所以,我想总结不同输入文件的相同列号下的所有值,所以最后得到一个像

这样的新文件
cut1 & SUM_XXX & SUM_YYY & SUM_ZZZ
cu2>B & SUM_QQQ & SUM_TTT & SUM_GGG

此外,值可以是科学格式..我想在bash或python中这样做。提前谢谢!

1 个答案:

答案 0 :(得分:0)

要求救援!

如果您只有三列要聚合,那么

$ awk 'BEGIN{FS=OFS="&"}
            {k=$1;a[k]+=$2;b[k]+=$3;c[k]+=$4} 
         END{for(i in a) print i,a[i],b[i],c[i]}' files*