2つの列の値を結合する方法は?

2つの列の値を結合する方法は?

次の形式のファイルがあります。

$ cat /tmp/raw
2015-01   5000   1000
2015-02   6000   2000
2015-03   7000   3000

今私が望むのは、各行の列2と列3で結合された値を取得することです。結果は次のとおりです。

2015-01   6000
2015-02   8000
2015-03   9000

これを試しましたが、ファイルの最後の値のみが表示されます(例:2015-03値)。

ベストアンサー1

いくつかの方法があります:

  1. 別のawkメソッド

    awk '{$2+=$3;}NF--' file
    
  2. パール

    perl -lane 'print "$F[0] ",$F[1]+$F[2]' file
    

    または

    perl -ape 's/$F[1].*/$F[1]+$F[2]/e' file
    
  3. シェル(上記よりはるかに遅いまたは効率が悪い)

    while read a b c; do echo "$a $((b + c))"; done < file
    

おすすめ記事