ページのトップに戻る
PowerSORT V6 ユーザーズガイド

A.2 bsortexコマンドの使用例

代表的な機能を使ったbsortexコマンドの使用例を示します。

例1  ソート処理の例

レコード長が100バイトのバイナリ固定長ファイルbsortinのレコードをソートして、ファイルbsortoutに出力します。キーフィールドは、レコードの先頭から10バイトのASCIIコードのフィールドを昇順に並べる指定です。

ex$ bsortex -sort key=0.10asca -input reclen=100 file=bsortin -output file=bsortout

例2  マージ処理の例

レコード長が100バイトのバイナリ固定長ファイルbsortin1とbsortin2のレコードをマージして、ファイルbsortoutに出力します。ファイルbsortin1とbsortin2は、それぞれレコードの先頭から10バイトのASCIIコードのフィールドを昇順にソートしたファイルです。

ex$ bsortex -merge key=0.10asca -input reclen=100 file=bsortin1,bsortin2 -output file=bsortout

例3  コピー処理の例

レコード長が100バイトのバイナリ固定長ファイルbsortinのレコードを、富士通COBOLの順編成ファイルbsortoutにコピーします。

ex$ bsortex -copy -record recform=fix -input reclen=100 file=bsortin filesys=ufs -output file=bsortout filesys=cobs64

例4  レコード選択機能を使った例

レコード長が100バイトのバイナリ固定長ファイルbsortin1とbsortin2のレコードをマージして、富士通COBOLの順編成ファイルbsortoutに出力します。入力ファイルは、20バイト目から4バイトの固定小数点2進数のフィールドが昇順にソートされているとします。さらに、マージの際、30バイト目から4バイトの固定小数点2進数の値が30以上40未満のレコードだけを処理の対象とします。

ex$ bsortex -merge key=19.4fbia -record recform=fix -input reclen=100 file=bsortin1,bsortin2 include=29.4fbi.ge.d30.and.29.4fbi.lt.d40 -output file=bsortout filesys=cobs64

例5  レコード再編成機能を使った例

レコード長が100バイトのバイナリファイルbsortinのレコードをソートして、ファイルbsortoutに出力します。キーフィールドの指定は、レコードの10バイト目から20バイトのASCIIコードのフィールドを降順に並べる指定です。さらに、ソート処理と同時にレコードを再編成します。再編成は、レコードの左端に入力レコードの10バイト目から20バイトを、その右に外部10進数の形式で10バイトのフィールドを置き、その値に0を設定します。

ex$ bsortex -sort key=0.20ascr -input reclen=100 file=bsortin reconst=9.20,d0.10zdl -output file=bsortout

ポイント

ソート処理と入力ファイルのレコード再編成処理を同時に実行する場合のコマンドの指定では、キーフィールドは入力ファイルのレコード再編成後の値を指定します。

例6  レコード集約機能を使った例

レコード長が100バイトのバイナリファイルbsortinのレコードをソートして、ファイルbsortoutに出力します。キーフィールドの指定は、レコードの10バイト目から20バイトのASCIIコードのフィールドを降順に並べる指定です。ソート処理の際、キーフィールドが等しいレコードが現れた場合、集約フィールドで指定した50バイト目から8バイトの内部10進数のフィールドを加算して、最初に入力したレコードに集約します。

ex$ bsortex -sort key=9.20ascr -input reclen=100 file=bsortin -summary field=49.8pdl first -output file=bsortout

例7  サプレス機能を使った例

レコード長が100バイトのバイナリファイルbsortinのレコードをソートして、ファイルbsortoutに出力します。キーフィールドの指定は、レコードの10バイト目から20バイトのASCIIコードのフィールドを降順に並べる指定です。ソート処理の際、キーフィールドが等しいレコードが現れた場合、任意の1つのレコードを残して他を削除します。

ex$ bsortex -sort key=9.20ascr -input reclen=100 file=bsortin -summary suppress -output file=bsortout

例8  先入力先出力(FIFO)機能を使った例

レコード長が100バイトのバイナリファイルbsortinのレコードをソートして、ファイルbsortoutに出力します。キーフィールドの指定は、レコードの10バイト目から20バイトのASCIIコードのフィールドを降順に並べる指定です。ソート処理の際、キーフィールドが等しいレコードが現れた場合、入力ファイルに格納されていた順序で出力します。

ex$ bsortex -sort key=9.20ascr -input reclen=100 file=bsortin -output file=bsortout -option fifo

9  テキストファイルをソートする例(固定フィールド指定)

最大レコード長が100バイトのテキストファイルbsortinのレコードをソートして、テキストファイルbsortoutに出力します。キーフィールドの指定は、レコードの8バイト目から4バイトのASCIIコードのフィールドを昇順に並べる指定です。

ex$ bsortex -sort key=7.4asca -record recform=txtfix -input reclen=100 file=bsortin -output file=bsortout

例10  テキストファイルをソートする例(浮動フィールド指定)

最大レコード長が100バイトのテキストファイルbsortinのレコードをソートして、テキストファイルbsortoutに出力します。キーフィールドの指定は、レコード分離文字コロン( : )で区切られた第2番目のフィールドの先頭から4バイトのASCIIコードのフィールドを昇順に並べる指定です。

ex$ bsortex -sort key=1.4asca -record recform=txtflt fldsep=: -input reclen=100 file=bsortin -output file=bsortout

例11  ファイルの分割出力機能を使った例

レコード長が100バイトのファイルbsortinのレコードをソートして、ファイルbsortout1とbsortout2に出力します。出力の際、ファイルサイズの上限を1GBにします。キーフィールドの指定は、レコードの先頭から10バイトのASCIIコードのフィールドを昇順に並べる指定です。

ex$ bsortex -sort key=0.10asca -input reclen=100 file=bsortin -output file=bsortout1,bsortout2 maxfilesize=1G

例12  条件別ファイル出力機能を使った例(その1)

レコード長が100バイトのファイルbsortinのレコードをソートして、ファイルbsortout1とbsortout2に出力します。出力の際、50バイト目から4バイトの内部10進数のフィールドが100以上のレコードをbsortout1に出力し、80バイト目から8バイトの外部10進数のフィールドが50未満のレコードをbsortout2に出力します。キーフィールドの指定は、レコードの先頭から10バイトのASCIIコードのフィールドを昇順に並べる指定です。

ex$ bsortex -sort key=0.10asca -input reclen=100 file=bsortin -output file=bsortout1 include=49.4pdl.ge.d100 -output file=bsortout2 include=79.8zdl.lt.d50

例13  条件別ファイル出力機能を使った例(その2)

レコード長が100バイトのファイルbsortinのレコードをソートして、ファイルbsortout1、bsortout2、およびbsortout3に出力します。出力の際、50バイト目から4バイトの内部10進数のフィールドが100以上のレコードをbsortout1に出力し、bsortout1に出力されなかったレコードの中から80バイト目から8バイトの外部10進数のフィールドが50未満のレコードをbsortout2に出力し、bsortout1にもbsortout2にも出力されなかったレコードをbsortout3に出力します。キーフィールドの指定は、レコードの先頭から10バイトのASCIIコードのフィールドを昇順に並べる指定です。

ex$ bsortex -sort key=0.10asca -input reclen=100 file=bsortin -output file=bsortout1 case=49.4pdl.ge.d100 -output file=bsortout2 case=79.8zdl.lt.d50 -output file=bsortout3 case=other