이와 같은 3개의 csv 파일이 있습니다.
.csv 1:
1,aaaa,bbb,2014-04-01
2,qwe,rty,2014-04-03
3,zxc,cvb,2014-04-05
.csv 2:
2,j,k,2014-04-01
3,a,s,2014-04-04
5,g,h,2014-04-08
.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
첫 번째 열로 모든 것을 어떻게 병합할 수 있나요?
SELECT * FROM csv1
JOIN csv2 where csv1[0]= csv2[0] --[0] is the position of the first column
출력은 다음과 같아야 합니다.
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
답변1
완전 활용하실 수 있어요POSIX 지정 함수join
.
join -t, csv[12] | join -t, - csv3
게시한 csv1
, csv2
및 파일을 사용하면 csv3
다음을 얻을 수 있습니다.
$ 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