(動画教材準備中)
dmerge : キーに従ったファイルのラストマージ
Usage : dmerge key=<key> <file1> <file2> ..
Options : -e
-s<c>
Version : Wed Mar 7 13:53:56 JST 2018
Edition : 3
指定ファイル <file1> <file2>... を key=<key>で指定したフィールドに従ってマージします。各ファイルは指定したキーであらかじめソートされている必要があります。
key指定の例 key=3 : 第3フィールドがキー
key=1/4 : 第1フィールド~第4フィールドがこの順にキー
key=3@1@2 : 第3、第1、第2フィールドがこの順にキー
key=NF : 最終フィールドがキー
key=1r : 第1フィールドがキー(降順)
key=2n : 第2フィールドが数値キー
key=3nr : 第3フィールドが数値キー(降順)
-e オプションを指定すると、以下の置換を行った文字列で比較を行います。
_ → 0x20 (space)
\0 → 0x00 (null)
\t → 0x09 (tab stop)
\n → 0x0a (new line)
\r → 0x0d (carrige return)
\_ → 0x5f (under score)
\\ → 0x5c (back slash)
この置換の _ は、-s<c> オプションで変更することができます。
第1フィールドがソート済みでキーとなっている3つのファイルをマージ
$ cat file1
A 1
A 2
B 1
B 2
$ cat file2
A 3
A 4
B 3
B 4
$ cat file3
B 5
B 6
C 1
C 2file1 file2 file3 をマージする。
file1 file2 file3 のレコードの順番は不定となります。
$ dmerge key=1 file1 file2 file3
A 1
A 2
A 3
A 4
B 3
B 4
B 5
B 6
B 1
B 2
C 1
C 2