根据每个文件的第二列合并 2 个文件并覆盖第一个文件中的公共行

根据每个文件的第二列合并 2 个文件并覆盖第一个文件中的公共行

我有几个 CSV。 file1 有大量 URL,file2 也有一个 URL 字段,必须与 file1 匹配。现在 file1 有几列需要添加到 file2 中。我已经成功添加了标题,并且还能够找到两者之间的公共 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 个中的每一个进行比较。分隔符是三个竖线 (|||)。我该如何解决这个问题?

相关内容