ページの先頭行へ戻る
PowerSORT Workstation (32bit) V8.0 ユーザーズガイド
FUJITSU Software

3.2.13 漢字ソートマージオプション(-M)

漢字ソートマージ機能を使用する場合に、漢字ソートマージ機能の並べ方について指定します。
漢字ソートマージ機能の並べ方は、キーフィールドの操作にmが指定されたキーフィールドごとに指定することができます。複数の並べ方を指定する場合は、m指定のキーフィールド順にコンマ( , )で区切って指定します。m指定のキーフィールドの数が並べ方の数より多い場合、最後に指定した並べ方が残りの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

漢字コード(JEFコード)順に並べます。

pos

ふりがなフィールドの位置を指定します。
バイナリファイルとテキストファイル固定フィールド指定の場合は、レコードの先頭を0としたバイト位置を指定します。テキストファイル浮動フィールド指定、テキストファイルCSV形式、およびテキストファイルTSV形式の場合は、0から数えたフィールド番号を指定します。

len

ふりがなフィールドの長さをバイト数で指定します。
テキストファイル浮動フィールド指定、テキストファイルCSV形式、およびテキストファイルTSV形式の場合、指定したフィールド長よりも長いフィールドが現れた場合は、指定したフィールド長で処理します。指定したフィールド長よりも短いフィールドが現れた場合は、実際のフィールド長で処理します。

注意

テキストファイルCSV形式、およびテキストファイルTSV形式の場合、フィールドを囲むダブルクォーテーション(")は、ふりがなフィールドの長さに含みません。また、ダブルクォーテーション(")で囲まれたフィールド内の2つ連続したダブルクォーテーション("")は、1つのダブルクォーテーション(")として長さを計算します。

typ

ふりがなフィールドのデータ形式を指定します。
指定可能なデータ形式を以下に示します。

表3.1 バイナリファイルの場合

種類

データ形式

typ

長さ(バイト)

文字

ASCIIコード

asc

1~レコード長(注1)

EBCDICコード(注2)

ebc

1~レコード長(注1)

シフトJISコード

sji

1~レコード長(注1)

JEFコード(注2)

jef

2~レコード長(2の倍数) (注1)

表3.2 テキストファイルの場合

種類

データ形式

typ

長さ(バイト)

文字

ASCIIコード

asc

1~レコード長(注1)

シフトJISコード

sji

1~レコード長(注1)

注1) レコード再編成機能を指定した場合は、レコード再編成後のレコード長まで指定できます。レコード再編成機能については、3.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
  3. 入力レコードの10バイト目から長さ2バイトの漢字フィールド(JEFコード)を部首コード順で昇順、入力レコードの20バイト目から長さ2バイトの漢字フィールド(JEFコード)を訓読み順で昇順に並べる場合、以下のように指定します。

    -9.2jefam,19.2jefam -M stdB,stdK