显示所有参考特定条件的数字的总和

Display the summation of all numbers reference to specific condition

我的输入如下:

输入:

FILE1    3   5   
FILE2    5   9   
FILE3    4   6   
FILE1    3   5   
FILE1    4   6   
FILE1    3   5   
FILE2    4   6   
FILE3    3   5   
FILE1    8   3   
FILE5    3   5   

需要的输出应该如下:

输出:

Name(count)    COLUMN1     COLUMN2   
FILE1(5)       21          24
FILE2(2)       9           15
FILE3(2)       7           11
FILE5(1)       3           5

输出需要解释:

更多说明:

我用 uniq 和 for/while 尝试了很多排序,但无法获得所需的输出。

使用 awk 只需解析所有行一次:

awk '{col1[]+=; col2[]+=; names[]+=1} 
     END { for (name in names) 
            { 
              printf ("%s(%s) %s %s\n", name, names[name], col1[name], col2[name]);  
            }
         }' inputfile

编辑
解释:
awk 逐行处理输入。从每一行开始,使用名称 </code>。<br> 求和是用 <code>col1col2 完成的。任何新条目都将从 0 开始,因此我可以在当前行中添加值。第一列统计+=1,其他列相加
我可以添加:

printf ("Processing %s, col1 subtotal=%s, col2 subtotal=%s\n",
        , col1[], col2[]);  

当您的输入文件出现意外行为时,这会很有帮助。
在 END 块中,我遍历所有存储的名称并使用它们来显示相应的列总计。