Linuxで同じ行の値を計算する新しい列を作成する

Linuxで同じ行の値を計算する新しい列を作成する

私はテーブルがあります:

  A B C
X 1 2 3 
Y 4 5 6
Z 7 8 9

2 つの新しい列 D と E を生成し、それぞれ式 (A+B)/C の平均と値を計算し、次のようにします。

  A B C D E
X 1 2 3 2 1
Y 4 5 6 5 1.5
Z 7 8 9 8 1.67

どうすればいいですか?私が検索して見つけた記事は、すべて行ではなく列の値を計算して別のファイルに出力することでした。

ベストアンサー1

与えられたdata.txt内容は次のとおりです。

1 2 3
4 5 6
7 8 9

ランニング:

awk '{$4 = ($1+$2+$3)/3; $5 = ($1+$2)/$3; print}' data.txt

出力は次のとおりです。

1 2 3 2 1
4 5 6 5 1.5
7 8 9 8 1.66667

おすすめ記事