代表的な機能を使ったbsortコマンドの使用例を示します。
例1 ソート処理の例
レコード長が100バイトのバイナリ固定長ファイルbsortinのレコードをソートして、ファイルbsortoutに出力します。キーフィールドは、レコードの先頭から10バイトのASCIIコードのフィールドを昇順に並べる指定です。
ex$ bsort -s -z100 -0.10asca -o bsortout bsortin
例2 マージ処理の例
レコード長が100バイトのバイナリ固定長ファイルbsortin1とbsortin2のレコードをマージして、ファイルbsortoutに出力します。ファイルbsortin1とbsortin2は、それぞれレコードの先頭から10バイトのASCIIコードのフィールドを昇順にソートしたファイルです。
ex$ bsort -m -z100 -0.10asca -o bsortout bsortin1 bsortin2
例3 コピー処理の例
レコード長が100バイトのバイナリ固定長ファイルbsortinのレコードを、富士通COBOLの順編成ファイルbsortoutにコピーします。
ex$ bsort -c -z100 -Zf -Fcobs64,ufs -o bsortout bsortin
例4 レコード選択機能を使った例
レコード長が100バイトのバイナリ固定長ファイルbsortin1と富士通COBOLの順編成ファイルbsortin2のレコードをマージして、富士通COBOLの順編成ファイルbsortoutに出力します。入力ファイルは、20バイト目から4バイトの固定小数点2進数のフィールドが昇順にソートされているとします。さらに、マージの際、30バイト目から4バイトの固定小数点2進数の値が30以上40未満のレコードだけを処理の対象とします。
ex$ bsort -m -z100 -Zf -19.4fbia -p29.4fbi.ge.d30,29.4fbi.lt.d40 -Fcobs64,ufs,cobs64 -o bsortout bsortin1 bsortin2
例5 レコード再編成機能を使った例
レコード長が100バイトのバイナリファイルbsortinのレコードをソートして、ファイルbsortoutに出力します。キーフィールドの指定は、レコードの10バイト目から20バイトのASCIIコードのフィールドを降順に並べる指定です。さらに、ソート処理と同時にレコードを再編成します。再編成は、レコードの左端に入力レコードの10バイト目から20バイトを、その右に外部10進数の形式で10バイトのフィールドを置き、その値に0を設定するという指定です。
ex$ bsort -s -z100 -0.20ascr -e9.20,d0.10zdl -o bsortout bsortin
ポイント
ソート処理とレコード再編成処理を同時に実行する場合のコマンドの指定では、キーフィールドはレコード再編成後の値を指定します。
例6 レコード集約機能を使った例
レコード長が100バイトのバイナリファイルbsortinのレコードをソートして、ファイルbsortoutに出力します。キーフィールドの指定は、レコードの10バイト目から20バイトのASCIIコードのフィールドを降順に並べる指定です。ソート処理の際、キーフィールドが等しいレコードが現れた場合、50バイト目から8バイトの内部10進数のフィールドを加算してレコードを1つに集約します。
ex$ bsort -s -z100 -9.20ascr -g49.8pdl -o bsortout bsortin
例7 サプレス機能を使った例
レコード長が100バイトのバイナリファイルbsortinのレコードをソートして、ファイルbsortoutに出力します。キーフィールドの指定は、レコードの10バイト目から20バイトのASCIIコードのフィールドを降順に並べる指定です。ソート処理の際、キーフィールドが等しいレコードが現れた場合、任意の1つのレコードを残して他を削除します。
ex$ bsort -su -z100 -9.20ascr -o bsortout bsortin
例8 先入力先出力(FIFO)機能を使った例
レコード長100バイトのバイナリファイルbsortinのレコードをソートして、ファイルbsortoutに出力します。キーフィールドの指定は、レコードの10バイト目から20バイトのASCIIコードのフィールドを降順に並べる指定です。ソート処理の際、キーフィールドが等しいレコードが現れた場合、入力ファイルに格納されていた順序で出力します。
ex$ bsort -sf -z100 -9.20ascr -o bsortout bsortin
例9 テキストファイルをソートする例(固定フィールド指定)
最大レコード長が100バイトのテキストファイルbsortinのレコードをソートして、テキストファイルbsortoutに出力します。キーフィールドの指定は、レコードの8バイト目から4バイトのASCIIコードのフィールドを昇順に並べる指定です。
ex$ bsort -s -z100 -7.4asca -Tfix -o bsortout bsortin
例10 テキストファイルをソートする例(浮動フィールド指定)
最大レコード長が100バイトのテキストファイルbsortinのレコードをソートして、テキストファイルbsortoutに出力します。キーフィールドの指定は、レコード分離文字コロン( : )で区切られた第2番目のフィールドの先頭から4バイトのASCIIコードのフィールドを昇順に並べる指定です。
ex$ bsort -s -z100 -1.4asca -Tflt -t: -o bsortout bsortin
例11 出力ファイル切換え機能を使った例
レコード長が100バイトのバイナリファイルbsortinのレコードをソートしてファイルbsortout1に出力します。ファイルbsortout1がファイルシステムの許容量を超えたときにファイルbsortout2に残りのレコードを出力します。キーフィールドの指定は、レコードの先頭から10バイトのASCIIコードのフィールドを昇順に並べる指定です。
ex$ bsort -s -z100 -0.10asca -o bsortout1 -o bsortout2 bsortin