[基于awk或sed的基于公共列的两个csv文件组合

问题描述 投票:0回答:1

我有两个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

CSV文件2

Type1 445566,Name XYZ11
Type1 445577,Name AAA22
Type1 445588,Name BBB33
Type1 445566,Name XYZ11

我想要的是?

5/1/20,user,abcd,Type1 445566,Name XYZ11
5/2/20,user,abcd,Type1 445577,Name AAA22
5/1/20,user,abcd,Type1 445588,Name BBB33
5/2/20,user,abcd,Type1 445566,Name XYZ11

那么Linux / Unix中是否有bash命令来实现这一目标?我们可以使用awk或sed吗?

linux bash unix awk sed
1个回答
0
投票
paste <(cut -d, -f 1-2 file1 | sed 's/$/,abcd,/') file2 | sed 's/[\t ]*,[\t ]*/,/g'
© www.soinside.com 2019 - 2024. All rights reserved.