如何从CSV文件中求和一定数量的值?

时间:2018-08-15 12:29:00

标签: csv awk

在Ubuntu 18.04计算机上,我得到了一个如下所示的CSV文件:

frame,0.291667,2880,,,
frame,0.333333,4569,,,
frame,0.375000,4605,,,
frame,0.416667,4715,,,
frame,0.458333,4804,,,
frame,0.500000,4939,,,

以此类推...

LibreOffice Calc 中分隔的逗号显然是这样的:

  | A     | B        | C     
1 | frame | 0.291667 | 2880 
2 | frame | 0.333333 | 4569 
3 | frame | 0.375000 | 4605
4 | frame | 0.416667 | 4715
5 | frame | 0.458333 | 4804
6 | frame | 0.500000 | 4939

现在,我要添加第三列的n个值。例如,将值C1添加到C3(C1:C3),然后再将C4添加到C6(C4:C6)。

如果我要在LibreOffice Calc中这样做,我将简单地:

=SUM(C1:C3) = 12054
=SUM(C4:C6) = 14459

由于我想做到这一点,所以我需要某种 awk-命令从终端进行此操作。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

$ awk -F, '{sum+=$3} NR%3==0{print sum; sum=0}' file
12054
14458
相关问题