PowerSORT Workstation V5.0 使用手引書
目次 索引 前ページ次ページ

第3章 PowerSORTのbsortコマンドを使用する> 3.2 bsortコマンドオプション

3.2.6 集約フィールドオプション(-g)

レコード集約機能を使用する場合に集約フィールドを指定します。
指定したキーフィールドの値が同一のとき、集約フィールドの値を加算して1つのレコードにします。集約対象となったレコードのうち、どのレコードが出力されるかは不定です。テキストファイルの場合は、ASCIIコード、Unicode UCS-2形式またはUnicode UTF-8形式で記述された数字(半角)だけを処理の対象とします。
この機能はソート機能とマージ機能の場合に有効です。レコード集約機能は、先入力先出力(FIFO)機能(-f)サプレス機能(-u)とは排他関係にあります。

■記述形式

-g sum-def [ ,sum-def ...]

sum-defの記述形式

pos.len typ [opt ]

pos

集約フィールドの位置を指定します。
バイナリファイルとテキストファイル固定フィールド指定の場合は、レコードの先頭を0としたバイト位置を指定します。テキストファイル浮動フィールド指定の場合は、0から数えたフィールド番号を指定します。

len

集約フィールドの長さをバイト数で指定します。
詳細は集約フィールドに指定可能なデータ形式を参照してください。
テキストファイル浮動フィールド指定の場合、指定したフィールド長よりも長いフィールドが現れたときは、指定したフィールド長で処理します。指定したフィールド長よりも短いフィールドが現れた場合は、指定したフィールド長に拡張して処理します。

typ

集約フィールドのデータ形式を指定します。
詳細は集約フィールドに指定可能なデータ形式を参照してください。

opt

テキストファイルの場合に集約フィールドの出力形式を指定します。バイナリファイルの場合に指定するとエラーとなります。
指定可能な出力形式を以下に示します。

opt

意味

i

集約フィールドの値に符号をつけます。uとは排他関係にあります。

u

集約フィールドの値が負の値の場合だけ符号(-)をつけます。iとは排他関係にあります。

z

集約フィールドの値がフィールド長に満たない場合、左余白に'0'を詰めます。例えば、集約フィールドの値が1234という4桁の数字であり、集約フィールド長が6バイトの場合、001234という数字にします。b、dとは排他関係にあります。

b

集約フィールドの値がフィールド長に満たない場合、左余白に空白を詰めます。例えば、集約フィールドの値が1234という4桁の数字であり、集約フィールド長が6バイトの場合、__1234(_は空白を表わす)という数字にします。z、dとは排他関係にあります。

d

集約フィールドの先頭から空白、タブおよび'0'を削除します。集約フィールドの先頭に空白、タブおよび'0'がある場合、左から評価し、'0'以外の数字が出現するまでの空白、タブおよび'0'を削除します。例えば、'00123'の場合、'123'という数字にします。ただし、集約フィールドが0(0、0000、+000など)の場合、最後の'0'は削除されません。テキストファイル浮動フィールド指定の場合に指定可能です。z、bとは排他関係にあります。

■記述例

入力レコードの7バイトめから8バイトの内部10進数のフィールドを集約フィールドに指定する場合は、次のように指定します。

-g 6.8pdl

集約フィールド指定時の注意事項

テキストファイルについての注意事項


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2004-2006