(マスターファイル:master)
$ cat master
0000003 杉山______ 26 F
0000005 崎村______ 50 F
0000007 梶川______ 42 F
0000010 柳本______ 50 F
(トランザクションファイル:kekka)
$ cat kekka
A 0000000 91 59 20 76 54
A 0000001 46 39 8 5 21
A 0000003 30 50 71 36 30
A 0000004 58 71 20 10 6
A 0000005 82 79 16 21 80
A 0000007 50 2 33 15 62
A 0000008 52 91 44 9 0
A 0000009 60 89 33 18 6
A 0000010 95 60 35 93 76
A 0000011 92 56 83 96 75
master に存在しない行は "_" で補完して出力されます。
$ join2 key=2 master kekka > data
$ cat data
A 0000000 _ _ _ 91 59 20 76 54
A 0000001 _ _ _ 46 39 8 5 21
A 0000003 杉山______ 26 F 30 50 71 36 30
A 0000004 _ _ _ 58 71 20 10 6
A 0000005 崎村______ 50 F 82 79 16 21 80
A 0000007 梶川______ 42 F 50 2 33 15 62
A 0000008 _ _ _ 52 91 44 9 0
A 0000009 _ _ _ 60 89 33 18 6
A 0000010 柳本______ 50 F 95 60 35 93 76
A 0000011 _ _ _ 92 56 83 96 75
<例2>
左から順に連続した複数のフィールドをキーに指定する場合です。
(マスター:master)
$ cat master
A 0000003 杉山______ 26 F
A 0000005 崎村______ 50 F
B 0000007 梶川______ 42 F
C 0000010 柳本______ 50 F
(トランザクション:kekka)
$ cat kekka
01 A 0000000 91 59 20 76 54
02 A 0000001 46 39 8 5 21
03 A 0000003 30 50 71 36 30
04 A 0000004 58 71 20 10 6
05 A 0000005 82 79 16 21 80
06 B 0000007 50 2 33 15 62
07 B 0000008 52 91 44 9 0
08 C 0000009 60 89 33 18 6
09 C 0000010 95 60 35 93 76
10 C 0000011 92 56 83 96 75
kekka の第2フィールド、第3フィールドをキーをマッチングします。
$ join2 key=2/3 master kekka > data
$ cat data
01 A 0000000 _ _ _ 91 59 20 76 54
02 A 0000001 _ _ _ 46 39 8 5 21
03 A 0000003 杉山______ 26 F 30 50 71 36 30
04 A 0000004 _ _ _ 58 71 20 10 6
05 A 0000005 崎村______ 50 F 82 79 16 21 80
06 B 0000007 梶川______ 42 F 50 2 33 15 62
07 B 0000008 _ _ _ 52 91 44 9 0
08 C 0000009 _ _ _ 60 89 33 18 6
09 C 0000010 柳本______ 50 F 95 60 35 93 76
10 C 0000011 _ _ _ 92 56 83 96 75