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

第5章 PowerSORTのbsortexコマンドを使用する> 5.2 bsortexコマンドオプション> 5.2.5 入力ファイル情報オプション(-input)

5.2.5.4 includeオペランド

入力ファイルのレコード選択機能を使用する場合に選択フィールド(選択条件)を指定します。
条件が成立したレコードを処理の対象とします。
includeオペランドは、omitオペランドとは排他関係にあります。

■記述形式

include=condition-expression

condition-expression

選択フィールド(選択条件)を指定します。
コンマ( , )で区切って複数のcondition-expression を指定した場合は、選択条件の論理積となります。複数のincludeオペランドを指定した場合は、選択条件の論理和となります。

condition-expression の記述形式

condition-definition [ { .and. | .or. } [ ( ]condition-expression [ ) ] ]

◆and

選択条件の論理積を示します。コンマ( , )で区切って複数指定した場合と同等です。

◆or

選択条件の論理和を示します。includeオペランドを複数指定した場合と同等です。

condition-definition

一つの選択フィールド(選択条件)を指定します。

condition-definition の記述形式

以下にcondition-definition の記述形式を示します。

[condition-definition の記述形式1]

pos.len typ [ opt ].cmp.pos.len typ

記述形式1は2つの選択フィールドを比較します。cmp の左辺は被比較フィールドを、右辺は比較フィールドを示します。

[condition-definition の記述形式2]

pos.len typ [ opt ].cmp.self-def

記述形式2は選択フィールドと自己規定値を比較します。cmp の左辺は被比較フィールドを、右辺は自己規定値を示します。

[condition-definition の記述形式3]

RECNUM.cmp.num

記述形式3はレコード件数に従って選択します。

pos

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

len

被比較フィールドまたは比較フィールドの長さをバイト数で指定します。
詳細は被比較フィールドと比較フィールドに指定可能なデータ形式を参照してください。
テキストファイル浮動フィールド指定の場合、指定したフィールド長よりも長いフィールドが現れた場合は、指定したフィールド長で処理します。指定したフィールド長よりも短いフィールドが現れた場合は、実際のフィールド長で処理します。
データ形式に符号なし2進数を指定する場合は、マスク値を指定します。フィールド値とマスク値の論理積を比較します。マスク値は、被比較フィールドと比較フィールドに同じ値を指定します。

typ

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

opt

被比較フィールドの操作を指定します。
複数の操作を指定する場合は続けて記述します。b、d、i、jおよびnは、テキストファイルを処理する場合に指定できます。指定可能な操作と意味を以下に示します。

opt

意味

b

キーフィールドの先頭の空白とタブを無視します。

d

空白と英数字だけを比較の対象とします。

i

制御文字コードを無視します。
シングルシフト2(SS2)0x8eおよびシングルシフト3(SS3)0x8fは、ASCIIコード指定の場合は制御文字、EUCコード指定の場合は文字とみなされます。

j

英小文字を英大文字として比較します。

l

環境変数LC_COLLATEで定義した照合順序で比較します。
データ形式がASCIIコード、EUCファイルコード、EUC2バイトプロセスコード、EUC4バイトプロセスコードまたはUnicode UTF-8形式で、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がEBCDICコード系以外の場合に指定できます。
nおよびwとは排他関係にあります。

n

符号を含んだ数字の文字列を算術的な値で比較します。
文字列中に数字以外の文字が存在した場合の結果は保証されません。
データ形式がASCIIコード、Unicode UCS-2形式またはUnicode UTF-8形式の場合に指定できます。
lおよびwとは排他関係にあります。

self-def

自己規定値を指定します。self-def の記述形式を以下に示します。

[self-def の記述形式1]

'文字列 '

[self-def の記述形式2]

x16進数

[self-def の記述形式3]

d10進数

cmp

比較演算子を指定します。
被比較フィールドがEUCファイルコード、EUC2バイトプロセスコードおよびEUC4バイトプロセスコードの場合は、環境変数LC_COLLATEに従った照合順序で比較します。
以下に比較演算子とその意味を示します。

比較演算子

意味(真の条件)

eq

被比較フィールド = 比較フィールドまたは自己規定値

ne

被比較フィールド ≠ 比較フィールドまたは自己規定値

gt

被比較フィールド > 比較フィールドまたは自己規定値

ge

被比較フィールド ≧ 比較フィールドまたは自己規定値

lt

被比較フィールド < 比較フィールドまたは自己規定値

le

被比較フィールド ≦ 比較フィールドまたは自己規定値

◆RECNUM

レコード件数で選択することを指定します。

num

レコード件数を指定します。
入力の場合、入力ファイルの先頭レコードを1件めとして指定します。複数の入力ファイルを指定した場合、ファイルごとの先頭レコードを1件めとして選択します。出力の場合、集約またはサプレス後に出力する最初のレコードを1件めとして指定します。

condition-definition 記述上の注意事項

■記述例

例1) 12バイトめの位置から4バイトの外部10進数のフィールドと32バイトめの位置から4バイトの内部10進数のフィールドが等しいレコードを処理の対象とする場合は、次のように指定します。

[BourneシェルおよびCシェルの場合]

include=11.4zdl.eq.31.4pdl

例2) 12バイトめの位置から4バイトの固定小数点2進数のフィールドが30以上のレコードを処理の対象とする場合は、次のように指定します。

[BourneシェルおよびCシェルの場合]

include=11.4fbi.ge.d30

例3) ファイルの先頭から50件めまでのレコードを処理の対象とする場合は、次のように指定します。

[BourneシェルおよびCシェルの場合]

include=RECNUM.le.50

例4) 自己規定値の文字列を指定する場合は、次のように指定します。

[Bourneシェルの場合]

include="10.5asc.eq.'abcde'"

[Cシェルの場合]

include=10.5asc.eq.\'abcde\'

例5) ダブルクォーテーション( " )を含んだ自己規定値の文字列を指定する場合は、次のように指定します。

[Bourneシェルの場合]

include="10.5asc.eq.'ab\"cd'"

[Cシェルの場合]

include=10.5asc.eq.\'ab\"cd\'

例6) クォーテーション( ' )を含んだ自己規定値の文字列を指定する場合は、次のように指定します。

[Bourneシェルの場合]

include="10.5asc.eq.'abc''d'"

[Cシェルの場合]

include=10.5asc.eq.\'abc\'\'d\'

例7) 自己規定値で10進数の指定をする場合は、次のように指定します。

[BourneシェルおよびCシェルの場合]

include=10.4zdl.eq.d-1000


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

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