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

A.1 bsortコマンドの使用例

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

例1 ソート処理の例

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

コマンド記述例
bsort -s -z100 -0.10asca -o bsortout bsortin

  -s          : ソート機能
  -z100       : レコード長
  -0.10asca   : キーフィールド
  -o bsortout : 出力ファイル名
  bsortin     : 入力ファイル名

例2 マージ処理の例

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

コマンド記述例
bsort -m -z100 -0.10asca -o bsortout bsortin1 bsortin2

  -m          : マージ機能
  -z100       : レコード長
  -0.10asca   : キーフィールド
  -o bsortout : 出力ファイル名
  bsortin1    : 入力ファイル名
  bsortin2    : 入力ファイル名

例3 コピー処理の例

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

コマンド記述例
bsort -c -z100 -Zf -Fcobs64,ufs -o bsortout bsortin

  -c           : コピー機能
  -z100        : レコード長
  -Zf          : レコード形式
  -Fcobs64,ufs : 入出力ファイルシステム
  -o bsortout  : 出力ファイル名
  bsortin      : 入力ファイル名

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

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

コマンド記述例
bsort -m -z100 -Zf -20.4fbia -p30.4fbi.ge.d30,30.4fbi.lt.d40 -Fcobs64,ufs,cobs64 -o bsortout bsortin1 bsortin2

  -m                              : マージ機能
  -z100                           : レコード長
  -Zf                             : レコード形式
  -20.4fbia                       : キーフィールド
  -p30.4fbi.ge.d30,30.4fbi.lt.d40 : 選択フィールド
  -Fcobs64,ufs,cobs64             : 入出力ファイルシステム
  -o bsortout                     : 出力ファイル名
  bsortin1                        : 入力ファイル名
  bsortin2                        : 入力ファイル名

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

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

コマンド記述例
bsort -s -z100 -0.20ascr -e10.20,d0.10zdl -o bsortout bsortin

  -s               : ソート機能
  -z100            : レコード長
  -0.20ascr        : キーフィールド
  -e10.20,d0.10zdl : 再編成フィールド
  -o bsortout      : 出力ファイル名
  bsortin          : 入力ファイル名

ポイント

レコード再編成機能を使用する場合、キーフィールドはレコード再編成後の位置を指定します。

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

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

コマンド記述例
bsort -s -z100 -10.20ascr -g50.8pdl -o bsortout bsortin

  -s           : ソート機能
  -z100        : レコード長
  -10.20ascr   : キーフィールド
  -g50.8pdl    : 集約フィールド
  -o bsortout  : 出力ファイル名
  bsortin      : 入力ファイル名

ポイント

キーフィールドが等しいレコードの中からどのレコードに集約されるかは不定です。

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

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

コマンド記述例
bsort -s -u -z100 -10.20ascr -o bsortout bsortin

  -s           : ソート機能
  -u           : サプレス機能
  -z100        : レコード長
  -10.20ascr   : キーフィールド
  -o bsortout  : 出力ファイル名
  bsortin      : 入力ファイル名

ポイント

キーフィールドが等しいレコードの中からどのレコードが出力されるかは不定です。

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

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

コマンド記述例
bsort -s -f -z100 -10.20ascr -o bsortout bsortin

  -s           : ソート機能
  -f           : 先入力先出力(FIFO)機能
  -z100        : レコード長
  -10.20ascr   : キーフィールド
  -o bsortout  : 出力ファイル名
  bsortin      : 入力ファイル名

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

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

コマンド記述例
bsort -s -z100 -8.4asca -Tfix -o bsortout bsortin

  -s          : ソート機能
  -z100       : 最大レコード長
  -8.4asca    : キーフィールド
  -Tfix       : テキストファイル固定フィールド指定
  -o bsortout : 出力ファイル名
  bsortin     : 入力ファイル名

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

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

コマンド記述例
bsort -s -z100 -1.4asca -Tflt -t: -o bsortout bsortin

  -s          : ソート機能
  -z100       : 最大レコード長
  -1.4asca    : キーフィールド
  -Tflt       : テキストファイル浮動フィールド指定
  -t:         : フィールド分離文字
  -o bsortout : 出力ファイル名
  bsortin     : 入力ファイル名

例11 出力ファイル切換え機能を使った例

レコード長が100バイトのバイナリ固定長ファイルbsortinのレコードをソートして、ファイルbsortout1に出力します。ファイルbsortout1がファイルシステムの許容量を超えた場合、ファイルbsortout2に残りのレコードを出力します。キーフィールドの指定は、レコードの先頭から長さ10バイトのASCIIコードのフィールドを昇順に並べる指定です。

コマンド記述例
bsort -s -z100 -0.10asca -o bsortout1 -o bsortout2 bsortin

  -s           : ソート機能
  -z100        : レコード長
  -0.10asca    : キーフィールド
  -o bsortout1 : 出力ファイル名
  -o bsortout2 : 出力ファイル名(ファイルシステムの許容量超過時)
  bsortin      : 入力ファイル名