PowerSORT V5.0 使用手引書
|
目次
索引

|
4.2.2 再編成フィールドオプション(-e)
レコード再編成機能を使用する場合に再編成フィールドを指定します。
再編成フィールドに指定したフィールドは、出力レコードの先頭から順に詰めて出力します。レコード再編成機能を使用する場合、キーフィールドと集約フィールドにはレコード再編成後のフィールド位置を指定します。
■記述形式
-e recon-def [ ,recon-def ...] |
■recon-def の記述形式
recon-def の記述形式には、以下の3つの形式があります。
[recon-def の記述形式1]
記述形式1では、入力レコードのフィールドを指定します。
指定したフィールドが入力のレコードに存在しない場合は、エラーになります。
[recon-def の記述形式2]
記述形式2では、自己規定値を指定します。
[recon-def の記述形式3]
記述形式3では、入力レコードの指定位置から終端までを再編成フィールドに指定します。
指定したフィールドが入力のレコードに存在しない場合は、エラーになります。
◆pos
再編成フィールドの位置をバイト数で指定します。
バイナリファイルと、テキストファイル固定フィールド指定の場合は、レコードの先頭を0としたバイト位置を指定します。テキストファイル浮動フィールド指定の場合は、0から数えたフィールド番号を指定します。
◆len
再編成フィールドの長さをバイト数で指定します。
テキストファイル浮動フィールド指定の場合、指定したフィールド長よりも長いフィールドが現れたときは、指定したフィールド長で処理します。指定したフィールド長よりも短いフィールドが現れた場合は、実際のフィールド長で処理します。
記述形式1の指定では、長さの制限はありません。記述形式2で指定可能なデータ形式ごとの長さについては、再編成フィールドの自己規定値に指定可能なデータ形式を参照してください。
◆self
自己規定値を指定します。
self の記述形式を以下に示します。自己規定値の注意事項については、recon-def 記述上の注意事項を参照してください。
[self の記述形式1]
[self の記述形式2]
[self の記述形式3]
◆typ
自己規定値のデータ形式を指定します。
指定可能なデータ形式については、再編成フィールドの自己規定値に指定可能なデータ形式を参照してください。
◆END
'END'の固定文字列を指定します。
recon-def 記述上の注意事項
- オプション引数で自己規定値を指定する場合の記述方法は使用するシェルにより異なります。代表的なシェルにおける記述例を以下に示します。なお、アーギュメントファイルオプション(-a)のアーギュメントファイルに記述する場合は、Bourneシェルの場合と同じ記述方法になります。
- Bourneシェルの場合
- オプション引数で自己規定値の文字列を指定する場合は、オプション引数全体をダブルクォーテーション( " )で囲みます。
例) 自己規定値として文字列ABCを指定する場合
- オプション引数でダブルクォーテーション( " )を含んだ自己規定値の文字列を指定する場合は、ダブルクォーテーション( " )の前に円マーク(バックスラッシュ)を指定します。$、\、`など、シェルにより特別な意味を持つ文字も同様です。
例) 自己規定値として文字列"ABC"を指定する場合
- オプション引数でクォーテーション( ' )を含んだ自己規定値の文字列を指定する場合は、クォーテーション( ' )を2つ続けて指定します。
例) 自己規定値として文字列'ABC'を指定する場合
- Cシェルの場合
- オプション引数で自己規定値の文字列を指定する場合は、文字列の前後のクォーテーション( ' )の前に円マーク(バックスラッシュ)を指定します。
例) 自己規定値として文字列ABCを指定する場合
- オプション引数でダブルクォーテーション( " )を含んだ自己規定値の文字列を指定する場合は、ダブルクォーテーション( " )の前に円マーク(バックスラッシュ)を指定します。$、&、(、)、|、\、`、{、}、;、*、<、>、?、空白など、シェルにより特別な意味を持つ文字も同様です。
例) 自己規定値として文字列"ABC"を指定する場合
- オプション引数でクォーテーション( ' )を含んだ自己規定値の文字列を指定する場合は、クォーテーション( ' )の前に円マーク(バックスラッシュ)を付け、2つ続けて指定します。
例) 自己規定値として文字列'ABC'を指定する場合
-e \'\'\'ABC\'\'\'.5asc,0.10 |
- 自己規定値の10進数を指定する場合は、符号を指定できます。
- ASCIIコードは、バイナリファイルの場合、入力コード系オプション(-q)がEBCDICコード系以外の場合に指定できます。テキストファイルの場合、入力コード系オプション(-q)がASCIIコード系の場合に指定できます。
- EBCDICコードは、入力コード系オプション(-q)がEBCDICコード系の場合に指定できます。
- EUCファイルコードは、入力コード系オプション(-q)がASCIIコード系で、LANG環境変数がCまたはEUCコードのlocaleの場合に指定できます。
- Unicode UCS-2形式は、バイナリファイルの場合、入力コード系オプション(-q)がEBCDICコード系以外の場合に指定できます。テキストファイルの場合、入力コード系オプション(-q)がUnicode系(UCS-2形式)の場合に指定できます。どちらの場合も、LANG環境変数がCまたはUTF-8のlocaleの場合に指定できます。
- Unicode UTF-8形式は、バイナリファイルの場合、入力コード系オプション(-q)がEBCDICコード系以外の場合に指定できます。テキストファイルの場合、入力コード系オプション(-q)がUnicode系(UTF-8形式)の場合に指定できます。どちらの場合も、LANG環境変数がCまたはUTF-8のlocaleの場合に指定できます。
- テキストファイル固定フィールド指定の場合は、自己規定値にレコード分離文字を含むことはできません。
- テキストファイル浮動フィールド指定の場合は、自己規定値にフィールド分離文字列またはレコード分離文字を含むことはできません。
- 自己規定値で指定した値とlen で指定した長さが異なるときは、以下に示すように処理します。
- 自己規定値が文字列の場合
- 自己規定値で指定した文字列の長さがlen で指定した長さより短い場合は、自己規定値を左詰めにして右余白に空白を詰めます。
- 自己規定値で指定した文字列の長さがlen で指定した長さより長い場合は、エラーとなります。
- 自己規定値が数字または数値の場合
- 自己規定値で指定した値をtyp とlen で指定したデータ形式と長さに変換して埋め込みます。
- 変換結果がlen を超える場合は、エラーとなります。
- 固定小数点2進数、符号なし固定小数点2進数、8086形式固定小数点2進数、8086形式符号なし固定小数点2進数、システム依存形式固定小数点2進数、システム依存形式符号なしの自己規定値を10進数で指定する場合、その値は以下の範囲になります。
長さ |
符号ありのデータ形式 |
符号なしのデータ形式 |
1バイト |
-128〜127 |
0〜255 |
2バイト |
-32768〜32767 |
0〜65535 |
3バイト |
-8388608〜8388607 |
0〜16777215 |
4バイト以上 |
-2147483648〜2147483647 |
0〜4294967295 |
■記述例
例1) 入力レコードの5バイトめから10バイトのフィールドを再編成する場合は、次のように指定します。
[BourneシェルおよびCシェルの場合]
例2) 自己規定値の文字列(abc)を指定する場合は、以下のように指定します。
[Bourneシェルの場合]
[Cシェルの場合]
例3) 入力レコードの5バイトめからレコードの最後までを再編成する場合は、以下のように指定します。
[BourneシェルおよびCシェルの場合]
All Rights Reserved, Copyright(C) 富士通株式会社 1992-2007