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番目の列は変更された可能性があります)を印刷します。