2つのCSVのファイルの1列目でマージ.
join コマンドを使う。 joinは事前にsort する必要あり.
join コマンド http://yut.hatenablog.com/entry/20120907/1346975281
- 入力ファイル
source1.txt
5,a
2,b
3,c
1,d
source2.txt
1,A
2,B
3,C
5,D
7,E
sort -t"," -k1,1g source1.txt > tmp2;
sort -t"," -k1,1g source2.txt > tmp1;
join -1 1 -2 1 -t "," tmp1 tmp2 > tmp3
1行目と2行目は-k1,1 カンマ区切りで-t"," ソート
3行目は,-1 1 ファイル1の1列目 -2 1 ファイル2の1列目 -t"," カンマ区切り で併合
- 出力結果
1,d,A
2,b,B
3,c,C
5,a,D