2つのcsvファイルの2番目の列の比較[閉じる]

2つのcsvファイルの2番目の列の比較[閉じる]

2番目の列の2つのファイルを比較し、生成された結果をoutput.csvとして使用する必要がありますawk

ファイル1.csv

5, 0,
5, 1,
5, 1,
4, 1,
4, 1,
4, 1,

ファイル2.csv

5, 0,
5, 1,
5, 1,
4, 0,
4, 2,
4, 3,

出力.csv

5, 0,
5, 1,
5, 1,
4, D,
4, D,
4, D,

ベストアンサー1

2つのファイルの行数が同じで、2つのファイルの行がペアで互いに対応しているとします。

$ paste file1 file2 | awk -F', *' -vOFS="," '$2 != $4 { $2 = "D" } { print $1, $2 }'
5,0
5,1
5,1
4,D
4,D
4,D

このpasteコマンドは、次のように2つのファイルを並べて配置します。

5, 0,   5, 0,
5, 1,   5, 1,
5, 1,   5, 1,
4, 1,   4, 0,
4, 1,   4, 2,
4, 1,   4, 3,

その後、コードはawkそれをカンマで区切られたデータ(後にスペースを入れることができる)として読み込み、2番目の列が4番目の列と等しくない場合は2番目の列を文字に設定しますD。その後、コードはカンマを区切り文字として使用して、最初の2つの列(2番目の列は変更された可能性があります)を印刷します。

おすすめ記事