最初のファイルの最初の列のすべての値に基づいて2つのファイルをマージします。

最初のファイルの最初の列のすべての値に基づいて2つのファイルをマージします。

次の2つのファイルをマージする必要があります。

  • ファイル1:

表 REF-IO HEAD-IO DIFF-IO
テスト 200500 -300
テスト 2 3 -1
最終 2 1 1
メール 4 2 2
合計 208506 -298

  • ファイル2:

表参照選択ヘッド選択比較選択
テスト5 7 -2
競争3 3 0テスト
0 7 -7
最終12 6 6
合計20 23 -3

マージされたファイルは次のようになります。

テーブル REF-IO HEAD-IO DIFF-IO REF-SELECT HEAD-SELECT DIFF-SELECT
テスト 200500 -300 5 7 -2
テスト 2 3 -1 0 7 -7
最終 2 1 1 12 6 6
メール 4 2 2 0 0 0合計
208 506 -298 20 23 -3

ベストアンサー1

awk '
    NR==FNR {vals[$1] = $2 " " $3 " " $4; next} 
    !($1 in vals) {vals[$1] = "0 0 0"} 
    {$(NF+1) = vals[$1]; print}
' file2 file1
TABLES REF-IO HEAD-IO DIFF-IO REF-SELECT HEAD-SELECT DIFF-SELECT
test 200 500 -300 5 7 -2
exam 2 3 -1 0 7 -7
final 2 1 1 12 6 6
mail 4 2 2 0 0 0
TOTAL 208 506 -298 20 23 -3

おすすめ記事