一部の情報を報告するファイルがあります。 $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
初期化できます。s
BEGIN{s=0}