他の列の項目を考慮した列値の合計

他の列の項目を考慮した列値の合計

一部の情報を報告するファイルがあります。 $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)条件です。 trueの$6場合に追加されますs
  • s最後に印刷されます。合計する項目がない場合は、印刷するか0()にs?s:0初期化できます。sBEGIN{s=0}

関連情報