代表的な機能を使ったbsortexコマンドの使用例を示します。
例1 ソート処理の例
レコード長が100バイトのバイナリ固定長ファイルbsortinのレコードをソートして、ファイルbsortoutに出力します。キーフィールドは、レコードの先頭から10バイトのASCIIコードのフィールドを昇順に並べる指定です。
bsortex -sort key=0.10asca -input reclen=100 file=bsortin -output file=bsortout
例2 マージ処理の例
レコード長が100バイトのバイナリ固定長ファイルbsortin1とbsortin2のレコードをマージして、ファイルbsortoutに出力します。ファイルbsortin1とbsortin2は、それぞれレコードの先頭から10バイトのASCIIコードのフィールドを昇順にソートしたファイルです。
bsortex -merge key=0.10asca -input reclen=100 file=bsortin1,bsortin2 -output file=bsortout
例3 コピー処理の例
レコード長が100バイトのシステム標準のファイルbsortinのレコードを、富士通COBOLの順編成ファイルbsortoutにコピーします。
bsortex -copy -record recform=fix -input reclen=100 file=bsortin filesys=dos -output file=bsortout filesys=cobseq
例4 レコード選択機能を使った例
レコード長が100バイトのバイナリ固定長ファイルbsortin1とbsortin2のレコードをマージして、富士通COBOLの順編成ファイルbsortoutに出力します。入力ファイルは、20バイトめから4バイトの固定小数点2進数のフィールドが昇順にソートされているとします。さらに、マージの際、30バイトめから4バイトの固定小数点2進数の値が30以上40未満のレコードだけを処理の対象とします。
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=cobseq
例5 レコード再編成機能を使った例
レコード長が100バイトのバイナリファイルbsortinのレコードをソートして、ファイルbsortoutに出力します。キーフィールドの指定は、レコードの10バイトめから20バイトのASCIIコードのフィールドを降順に並べる指定です。さらに、ソート処理と同時にレコードを再編成します。再編成は、レコードの左端に入力レコードの10バイトめから20バイトを、その右に外部10進数の形式で10バイトのフィールドを置き、その値に0を設定します。
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進数のフィールドを加算して、最初に入力したレコードに集約します。
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つのレコードを残して他を削除します。
bsortex -sort key=9.20ascr -input reclen=100 file=bsortin -summary suppress -output file=bsortout
例8 先入力先出力(FIFO)機能を使った例
レコード長が100バイトのバイナリファイルbsortinのレコードをソートして、ファイルbsortoutに出力します。キーフィールドの指定は、レコードの10バイトめから20バイトのASCIIコードのフィールドを降順に並べる指定です。ソート処理の際、キーフィールドが等しいレコードが現れた場合、入力ファイルに格納されていた順序で出力します。
bsortex -sort key=9.20ascr -input reclen=100 file=bsortin -output file=bsortout -option fifo
例9 テキストファイルをソートする例(固定フィールド指定)
最大レコード長が100バイトのテキストファイルbsortinのレコードをソートして、テキストファイルbsortoutに出力します。キーフィールドの指定は、レコードの8バイトめから4バイトのASCIIコードのフィールドを昇順に並べる指定です。
bsortex -sort key=7.4asca -record recform=txtfix -input reclen=100 file=bsortin -output file=bsortout
例10 テキストファイルをソートする例(浮動フィールド指定)
最大レコード長が100バイトのテキストファイルbsortinのレコードをソートして、テキストファイルbsortoutに出力します。キーフィールドの指定は、レコード分離文字コロン( : )で区切られた第2番めのフィールドの先頭から4バイトのASCIIコードのフィールドを昇順に並べる指定です。
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コードのフィールドを昇順に並べる指定です。
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コードのフィールドを昇順に並べる指定です。
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コードのフィールドを昇順に並べる指定です。
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