各ファイルの2番目の列に基づいて2つのファイルをマージし、最初のファイルの共通行を上書きします。

各ファイルの2番目の列に基づいて2つのファイルをマージし、最初のファイルの共通行を上書きします。

CSVが複数あります。 file1には複数のURLがあり、file2にはfile1と一致する必要があるURLフィールドもあります。 file1には、file2に追加する必要があるいくつかの列があります。ヘッダーが正常に追加され、2つの間の共通URLを見つけ、2つの追加の列をfile2に入れることができました。 (新しい列の質問+結果)

sed -i ' 1 s/.*/&|||Issues|||Results/'

ヘッダーと追加の列を追加すると、awkスクリプトはユニバーサルURLを提供します。 temp.csvには、添付の質問とレポートに一致するURLが含まれます。

awk 'BEGIN { OFS="\|\|\|"} NR==FNR{a[$1]=$4"|||"$5; next} $2 in a {print $0 OFS a[$2]}' FS=[','] February_2019_completed.csv FS='[|]{3}' cleaned.csv > temp.csv

5つの異なるファイルと比較し、上記の2つの列が追加されたすべての行をインポートする必要があります。新しい temp.csv ファイルを clean.csv にマージし、追加の列を含む行を元の clean.csv ファイルにマージして、同じ数の行を再試行します。その後、上記の5つのそれぞれと再び比較できます。区切り記号は3つの縦棒(|||)です。この問題をどのように解決できますか?

関連情報