考虑其他列中的条目对列值求和

考虑其他列中的条目对列值求和

我有一个文件,其中报告了一些信息。我想根据 $5 列中的相对值对 $6 列中的值进行求和。详细来说,如果第 5 列中的值 >= -2.0 我应该考虑第 6 列中的相对值,否则我不会将其包含在总和中。

输入.txt

2931,401,-0.3,C,-0.5,0.1,-2,C
2935,404,-0.2,S,-3.0,0.5,4,O
2940,414,1.3,C,-0.7,,,
2947,509,2.0,N,-2.0,5,-0.4,C

Expected_output.txt -> 应包含列 $6 第 1 (0.1) 行和 4(5) 行的总和(如果第 3 行中的第 6 列不为空,则必须在总和中考虑)

5.1 

我正在尝试使用awk,但找不到正确的方法。有人可以建议一种方法吗?

谢谢。

答案1

awk -F, '($5>=-2){s+=$6}END{print s}' input.txt
  • -F,告诉 awk 字段之间用逗号分隔;
  • the($5>=-2)是条件,如果为真,$6则添加到s;
  • thes打印在最后。如果可能没有任何内容可求和,您可能需要打印s?s:0或初始化s为 0 ( BEGIN{s=0})。

相关内容