小编Sru*_*ddy的帖子

使用 awk 或 sed 根据公共列合并两个 csv 文件

我有一个两个 CSV 文件,两个文件中有一个公共列,并且一个文件中有重复项。如何使用 awk 或 sed 合并两个 csv 文件?

CSV 文件 1

5/1/20,user,mark,Type1 445566
5/2/20,user,ally,Type1 445577
5/1/20,user,joe,Type1 445588
5/2/20,user,chris,Type1 445566
Run Code Online (Sandbox Code Playgroud)

CSV 文件 2

Type1 445566,Name XYZ11
Type1 445577,Name AAA22
Type1 445588,Name BBB33
Type1 445566,Name XYZ11
Run Code Online (Sandbox Code Playgroud)

我想要的是?

5/1/20,user,mark,Type1 445566,Name XYZ11
5/2/20,user,ally,Type1 445577,Name AAA22
5/1/20,user,joe,Type1 445588,Name BBB33
5/2/20,user,chris,Type1 445566,Name XYZ11
Run Code Online (Sandbox Code Playgroud)

那么Linux/Unix中有没有bash命令可以实现这一点呢?我们可以使用 awk 或 sed 来完成此操作吗?

基本上,我需要将 CSV 文件 1 的第 4 列与 CSV 文件 2 的第 1 列进行匹配,并合并两个 csv。

尝试了以下命令:

命令:

粘贴 -d, <(剪切 -d, -f 1-2 ./test1.csv | sed 's/$/,Type1/') test2.csv …

unix linux bash awk sed

5
推荐指数
2
解决办法
6397
查看次数

标签 统计

awk ×1

bash ×1

linux ×1

sed ×1

unix ×1