2つのファイルの1列目でマージ ワンライナー風 join コマンド

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