漢字ソートマージ機能を使用する場合に、漢字フィールド、およびふりがなフィールドを指定します。
漢字ソートマージオプション(-M)は、キーフィールドの操作としてmを指定したフィールドに対応します。このmを指定したキーフィールドが漢字フィールドとなります。
記述形式
-M kanji-def [ ,kanji-def ...]
kanji-def の記述形式
form [ odr ] [ pos.len typ ]
form
漢字ソートマージ機能の方式を指定します。
指定可能な方式を以下に示します。
form | 意味 |
---|---|
std | 基本方式(漢字属性の順)に並べます。 |
dic | 国語辞典方式(ふりがなの順)に並べます。 |
odr
漢字フィールドの漢字属性を指定します。
漢字属性を複数指定すると指定した順に比較が行われます。複数指定する場合は、最大4つまで続けて指定できます。指定可能な漢字属性を以下に示します。
odr | 意味 |
---|---|
B | 部首コード順に並べます。 |
S | 総画数順に並べます。 |
O | 音読み順に並べます。 |
K | 訓読み順に並べます。 |
C | 漢字コード順に並べます。 |
pos
ふりがなフィールドの位置を指定します。
バイナリファイルとテキストファイル固定フィールド指定の場合は、レコードの先頭を0としたバイト位置を指定します。テキストファイル浮動フィールド指定、テキストファイルCSV形式、およびテキストファイルTSV形式の場合は、0から数えたフィールド番号を指定します。
len
ふりがなフィールドの長さをバイト数で指定します。
テキストファイル浮動フィールド指定、テキストファイルCSV形式、およびテキストファイルTSV形式の場合、指定したフィールド長よりも長いフィールドが現れた場合は、指定したフィールド長で処理します。指定したフィールド長よりも短いフィールドが現れた場合は、実際のフィールド長で処理します。
注意
テキストファイルCSV形式、およびテキストファイルTSV形式の場合、フィールドを囲むダブルクォーテーション( " )は、ふりがなフィールドの長さに含みません。また、ダブルクォーテーション( " )で囲まれたフィールド内の2つ連続したダブルクォーテーション( "" )は、1つのダブルクォーテーション( " )として長さを計算します。
typ
ふりがなフィールドのデータ形式を指定します。
指定可能なデータ形式を以下に示します。
種類 | データ形式 | typ | 長さ(バイト) |
---|---|---|---|
文字 | ASCIIコード | asc | 1~レコード長(注1) |
EBCDICコード(注2) | ebc | 1~レコード長(注1) | |
シフトJISコード | sji | 1~レコード長(注1) | |
JEFコード(注2) | jef | 2~レコード長(2の倍数) (注1) |
種類 | データ形式 | typ | 長さ(バイト) |
---|---|---|---|
文字 | ASCIIコード | asc | 1~レコード長(注1) |
シフトJISコード | sji | 1~レコード長(注1) |
注1) レコード再編成機能を指定した場合は、レコード再編成後のレコード長まで指定できます。レコード再編成機能については、4.2.2 再編成フィールドオプション(-e)を参照してください。
注2) 入力コード系オプション(-q)の指定がEBCDICコード系の場合に指定できます。
記述例
例
例1) 入力レコードの10バイト目から長さ2バイトの漢字フィールド(シフトJISコード)を総画数順、音読み順で昇順に並べる場合、次のように指定します。
-9.2sjiam -M stdSO
例2) 入力レコードの10バイト目から長さ10バイトに漢字フィールド(シフトJISコード)があり、このフィールドに対するふりがなフィールド(シフトJISコード)がレコードの50バイト目から長さ20バイトに存在するとき、このレコードを国語辞典の並びで昇順に並べる場合、次のように指定します。
-9.10sjiam -M dic49.20sji