PowerSORT Workstation V5.0 使用手引書 |
目次
索引
![]() ![]() |
第3章 PowerSORTのbsortコマンドを使用する | > 3.2 bsortコマンドオプション |
レコード選択機能を使用する場合に選択フィールド(選択条件)を指定します。
複数の選択フィールドを指定することもできます。コンマ( , )で区切って複数の選択フィールドを指定した場合は、選択条件の論理積となります。複数の選択フィールドオプションを指定した場合は、選択条件の論理和となります。
-p sel-def [ ,sel-def ...] |
sel-def の記述形式には以下の2種類があります。
pos.len typ opt.cmp.pos.len typ |
cmp の左辺は被比較フィールドを、右辺は比較フィールドを示します。
pos.len typ opt.cmp.self |
cmp の左辺は被比較フィールドを、右辺は自己規定値を示します。
被比較フィールドまたは比較フィールドの位置を指定します。
バイナリファイルとテキストファイル固定フィールド指定の場合は、レコードの先頭を0としたバイト位置を指定します。テキストファイル浮動フィールド指定の場合は、0から数えたフィールド番号を指定します。
被比較フィールドまたは比較フィールドの長さをバイト数で指定します。
詳細は被比較フィールドと比較フィールドに指定可能なデータ形式を参照してください。
テキストファイル浮動フィールド指定の場合、指定したフィールド長よりも長いフィールドが現れた場合は、指定したフィールド長で処理します。指定したフィールド長よりも短いフィールドが現れた場合は、実際のフィールド長で処理します。
データ形式に符号なし2進数を指定する場合は、マスク値を指定します。フィールド値とマスク値の論理積を比較します。マスク値は、被比較フィールドと比較フィールドに同じ値を指定します。
自己規定値を指定します。self の記述形式を以下に示します。なお、自己規定値の指定時にはsel-def 記述上の注意事項を参照してください。
'文字列 ' |
x16進数 |
d10進数 |
被比較フィールドと比較フィールドのデータ形式を指定します。
詳細は被比較フィールドと比較フィールドに指定可能なデータ形式を参照してください。
被比較フィールドの操作を指定します。
複数の操作を指定する場合は続けて記述します。指定可能な操作を以下に示します。b、d、i、jおよびnは、テキストファイルを処理する場合に指定できます。
opt |
意味 |
---|---|
b |
フィールドの先頭の空白とタブを無視します。 |
d |
空白と英数字だけを比較の対象とします。 |
i |
制御文字コードを無視します。 |
j |
英小文字を英大文字として比較します。 |
n |
符号を含んだ数字の文字列を算術的な値で比較します。 |
w |
複数バイトから成る文字が混在していても文字ごとに比較します。 |
比較演算子を指定します。
以下に比較演算子とその意味を示します。
比較演算子 |
意味(真の条件) |
---|---|
eq |
被比較フィールド = 比較フィールドまたは自己規定値 |
ne |
被比較フィールド ≠ 比較フィールドまたは自己規定値 |
gt |
被比較フィールド > 比較フィールドまたは自己規定値 |
ge |
被比較フィールド ≧ 比較フィールドまたは自己規定値 |
lt |
被比較フィールド < 比較フィールドまたは自己規定値 |
le |
被比較フィールド ≦ 比較フィールドまたは自己規定値 |
データ形式 |
指定可能な値 |
---|---|
符号ありのデータ形式 |
-2147483648 〜 2147483647 |
符号なしのデータ形式 |
0 〜 4294967295 |
例1) 12バイトめの位置から4バイトの固定小数点2進数のフィールドが30以上のレコードを選択する場合は、次のように指定します。
-p 11.4fbi.ge.d30 |
例2) 10バイトめの位置から5バイトのASCIIコードのフィールドに文字列abcdeがあるレコードを選択する場合は、次のように指定します。
-p "9.5asc.eq.'abcde'" |
例3) 10バイトめの位置から5バイトのASCIIコードのフィールドに文字列"abcdがあるレコードを選択する場合は、次のように指定します。
-p "9.5asc.eq.'\"abcd'" |
例4) 10バイトめの位置から5バイトのASCIIコードのフィールドに文字列abc'dがあるレコードを選択する場合は、次のように指定します。
-p "9.5asc.eq.'abc''d'" |
例5) 4バイトめの位置から3バイトのASCIIコードのフィールドに文字列abcがある、かつ10バイトめの位置から3バイトのASCIIコードのフィールドに文字列abcがあるレコード、または4バイトめの位置から5バイトのASCIIコードのフィールドに文字列abcdeがあるレコードを選択する場合は、次のように指定します。
-p "3.3asc.eq.'abc'","9.3asc.eq.'abc'" -p "3.5asc.eq.'abcde'" |
目次
索引
![]() ![]() |