Basic tests set 1
-----------------
====Whole line as key===
====[tsv-join --header --filter-file input1.tsv input2.tsv]====
f1 f2 f3 f4 f5
2 bbb ZZZ 21 28
9 v vv 97 91
10 GGG nnn 101 102
====[tsv-join --header -f input1.tsv --key-fields 0 input2.tsv]====
f1 f2 f3 f4 f5
2 bbb ZZZ 21 28
9 v vv 97 91
10 GGG nnn 101 102
====[tsv-join --header -f input1.tsv --key-fields 0 --data-fields 0 input2.tsv]====
f1 f2 f3 f4 f5
2 bbb ZZZ 21 28
9 v vv 97 91
10 GGG nnn 101 102
====[tsv-join --header -f input1.tsv --exclude input2.tsv]====
f1 f2 f3 f4 f5
1 ggg UUU 101b 15b
3 nnn GGG 336b 3b
4 vvv VVV 43b 403b
5 ggg CCC 5734b 52b
6 ddd ZZZ 65b 602b
7 ßßß SSS 7b 771b
8 vv v 85b 832b
11 v12 PPP 1123b 1167b
12 àbc P 1209b 1234b
13 ÀSSC 1367b 1331b
14 -1 1 1489b 1421b
15 B 1522b 1567b
16 1634b 1602b
17 0 X 1721b 1703
18 a g ß Y 1845b 1801b
19 %tg-0 Z 1931b 1956b
20 bbb ZZZ 21 28
21 bbb ZZZ 21 28
22 ddd ZZZ 65b 602b
23 v12 PPP 1123b 1167b
24 ÀSSC 1367b 1331b
25 0 X 1721b 1703
26 bbb ZZZ 21 28
27 xa gg 44 45
28 xb gh 45 46
29 xc gi 46 47
30 xd gj 47 48
31 sp-sp 2020b
32 xe gk 48 49
====[tsv-join -f input1_noheader.tsv --exclude input2_noheader.tsv]====
1 ggg UUU 101b 15b
3 nnn GGG 336b 3b
4 vvv VVV 43b 403b
5 ggg CCC 5734b 52b
6 ddd ZZZ 65b 602b
7 ßßß SSS 7b 771b
8 vv v 85b 832b
11 v12 PPP 1123b 1167b
12 àbc P 1209b 1234b
13 ÀSSC 1367b 1331b
14 -1 1 1489b 1421b
15 B 1522b 1567b
16 1634b 1602b
17 0 X 1721b 1703
18 a g ß Y 1845b 1801b
19 %tg-0 Z 1931b 1956b
20 bbb ZZZ 21 28
21 bbb ZZZ 21 28
22 ddd ZZZ 65b 602b
23 v12 PPP 1123b 1167b
24 ÀSSC 1367b 1331b
25 0 X 1721b 1703
26 bbb ZZZ 21 28
27 xa gg 44 45
28 xb gh 45 46
29 xc gi 46 47
30 xd gj 47 48
31 sp-sp 2020b
32 xe gk 48 49
====[tsv-join -f input1_noheader.tsv -k 2 -a 5 --allow-duplicate-keys input2_noheader.tsv]====
1 ggg UUU 101b 15b 52
2 bbb ZZZ 21 28 28
3 nnn GGG 336b 3b 3
4 vvv VVV 43b 403b 403
5 ggg CCC 5734b 52b 52
6 ddd ZZZ 65b 602b 602
7 ßßß SSS 7b 771b 771
8 vv v 85b 832b 832
9 v vv 97 91 91
10 GGG nnn 101 102 102
11 v12 PPP 1123b 1167b 1167
12 àbc P 1209b 1234b 1234
13 ÀSSC 1367b 1331b 1331
14 -1 1 1489b 1421b 1421
15 B 1522b 1567b 1602
16 1634b 1602b 1602
17 0 X 1721b 1703 1703
18 a g ß Y 1845b 1801b 1801
19 %tg-0 Z 1931b 1956b 1956
20 bbb ZZZ 21 28 28
21 bbb ZZZ 21 28 28
22 ddd ZZZ 65b 602b 602
23 v12 PPP 1123b 1167b 1167
24 ÀSSC 1367b 1331b 1331
25 0 X 1721b 1703 1703
26 bbb ZZZ 21 28 28
31 sp-sp 2020b 2020
====Single key append variants===
====[tsv-join --header -f input1.tsv -k 2 -a 5 --allow-duplicate-keys input2.tsv]====
f1 f2 f3 f4 f5 f5
1 ggg UUU 101b 15b 52
2 bbb ZZZ 21 28 28
3 nnn GGG 336b 3b 3
4 vvv VVV 43b 403b 403
5 ggg CCC 5734b 52b 52
6 ddd ZZZ 65b 602b 602
7 ßßß SSS 7b 771b 771
8 vv v 85b 832b 832
9 v vv 97 91 91
10 GGG nnn 101 102 102
11 v12 PPP 1123b 1167b 1167
12 àbc P 1209b 1234b 1234
13 ÀSSC 1367b 1331b 1331
14 -1 1 1489b 1421b 1421
15 B 1522b 1567b 1602
16 1634b 1602b 1602
17 0 X 1721b 1703 1703
18 a g ß Y 1845b 1801b 1801
19 %tg-0 Z 1931b 1956b 1956
20 bbb ZZZ 21 28 28
21 bbb ZZZ 21 28 28
22 ddd ZZZ 65b 602b 602
23 v12 PPP 1123b 1167b 1167
24 ÀSSC 1367b 1331b 1331
25 0 X 1721b 1703 1703
26 bbb ZZZ 21 28 28
31 sp-sp 2020b 2020