按第一列合并csv文件

use*_*932 5 awk text-processing csv columns join

我有 3 个这样的 csv 文件。

CSV 1:

1,aaaa,bbb,2014-04-01
2,qwe,rty,2014-04-03
3,zxc,cvb,2014-04-05
Run Code Online (Sandbox Code Playgroud)

CSV 2:

2,j,k,2014-04-01
3,a,s,2014-04-04
5,g,h,2014-04-08
Run Code Online (Sandbox Code Playgroud)

CSV 3:

2,a,s,d,f,g,2014-04-01
3,d,f,g,h,j,2014-04-06
4,c,v,b,n,m,2014-04-09
Run Code Online (Sandbox Code Playgroud)

如何按第一列合并所有内容?

SELECT * FROM csv1
JOIN csv2 where csv1[0]= csv2[0] --[0] is the position of the first column
Run Code Online (Sandbox Code Playgroud)

输出应该是:

 csv1 fields     | csv2 fields |  csv4 fields

 2,qwe,rty,2014-04-03,a,s,2014-04-04,a,s,d,f,g,2014-04-01
 3,zxc,cvb,2014-04-05,g,h,2014-04-08,d,f,g,h,j,2014-04-06  
Run Code Online (Sandbox Code Playgroud)

ste*_*ver 5

你可以完全做到这一点的POSIX指定的功能join

join -t, csv[12] | join -t, - csv3
Run Code Online (Sandbox Code Playgroud)

使用您发布的csv1,csv2csv3文件,可以提供:

$ join -t, csv[12] | join -t, - csv3
2,qwe,rty,2014-04-03,j,k,2014-04-01,a,s,d,f,g,2014-04-01
3,zxc,cvb,2014-04-05,a,s,2014-04-04,d,f,g,h,j,2014-04-06
Run Code Online (Sandbox Code Playgroud)