ページの先頭行へ戻る
PowerSORT V7.0 ユーザーズガイド
FUJITSU Software

4.2.5 入力ファイル情報オプション(-input)

入力ファイル情報を指定します。
標準入力から入力する場合は、fileオペランド、およびfilesysオペランドを省略します。

記述形式

-input reclen=record-length
       [ file=file-name [ ,file-name ...] [ file= ...]
           [ filesys=file-system ] ]
       [ { include=condition-expression [ ,condition-expression ] [ include= ...]
           | omit=condition-expression [ ,condition-expression ] [ omit= ...] } ]
       [ reconst=reconst-definition [ ,reconst-definition ...] [ reconst= ...] ]
       [ eof= { effect | ignore } ]
       [ overwrite ]

4.2.5.1 reclenオペランド

入力レコードのレコード長、または最大レコード長を指定します。

記述形式

reclen=record-length

record-length

レコード長をバイト数で指定します。
バイナリファイルの場合、レコード形式が固定長レコード形式のときはレコード長、レコード形式が可変長レコード形式のときはファイル内の最大レコード長を指定します。
テキストファイルの場合は、改行コードを含む最大レコード長を指定します。

注意

バイナリファイル可変長レコード形式またはテキストファイルの場合、実際の最大レコード長より大きな値を指定しても動作可能です。ただし、実際の最大レコード長よりも大きな値を指定した場合、指定した値の差異に応じて性能悪化の要因となりますので、可能な限り実際の最大レコード長に近い値を指定してください。

4.2.5.2 fileオペランド

入力ファイルを指定します。
入力ファイルは複数指定することができます。ただし、ファイルシステムが異なる複数の入力ファイルを指定することはできません。複数の入力ファイルを指定する場合は、入力ファイルをコンマ(,)で区切って指定するか、またはfileオペランドを複数指定します。複数の入力ファイルを指定した場合、ソート機能およびコピー機能では、指定した順番にファイルの先頭からレコードを入力します。マージ機能では、レコードを読み込む順番は各レコードのキーフィールドの値に依存します。

記述形式

file=file-name

file-name

入力ファイルのファイルパス名を指定します。

注意

  • 半角空白を含んだファイルパス名を指定する場合は、file-name 全体をダブルクォーテーション(")で囲みます。

  • コンマ(,)を含んだファイルパス名を指定する場合は、file-name 全体をクォーテーション(')で囲み、さらにダブルクォーテーション(")で囲みます。

  • クォーテーション(')を含んだファイルパス名を指定する場合は、クォーテーション(')を2つ続けて指定し、file-name 全体をダブルクォーテーション(")で囲みます。

  • ダブルクォーテーション(")を含んだファイルパス名を指定する場合は、ダブルクォーテーション(")の前に円マーク(バックスラッシュ)を指定します。

記述例

  1. 複数の入力ファイルを指定する場合は、以下のように指定します。

    file=sortin1,sortin2
  2. 半角空白を含んだファイルパス名を指定する場合は、以下のように指定します。

    file="sortin 01"
  3. コンマ(,)を含んだファイルパス名を指定する場合は、以下のように指定します。

    file="'sortin,01'"
  4. クォーテーション(')を含んだファイルパス名を指定する場合は、以下のように指定します。

    file="sortin''01"
  5. ダブルクォーテーション(")を含んだファイルパス名を指定する場合は、以下のように指定します。

    file=sortin\"01

4.2.5.3 filesysオペランド

fileオペランドで指定した入力ファイルのファイルシステムを指定します。

記述形式

filesys=file-system

file-system

入力ファイルのファイルシステムを指定します。
ファイルシステムは識別子で指定します。指定可能なファイルシステムを以下に示します。識別子としてcob1、cob2、およびcob3を指定する場合は、識別子と実際のファイルシステムを対応付けるため、スタートアップファイルのBSORT_FILESYS_fsの定義が必要です。
COBOLファイルシステムには、富士通COBOLファイルシステムを指定できます。

識別子

ファイルシステムの説明

ufs

システムの標準ファイルシステム (省略値)

cobs64

富士通COBOLファイルシステム(レコード順ファイル)

cobp64

富士通COBOLファイルシステム(物理順ファイル)

cobr64

富士通COBOLファイルシステム(相対ファイル)

cobi64

富士通COBOLファイルシステム(索引ファイル)

cob1

COBOLファイルシステム

cob2

COBOLファイルシステム

cob3

COBOLファイルシステム

記述例

入力ファイルのファイルシステムに富士通COBOLファイルシステム(レコード順ファイル)を指定する場合は、以下のように指定します。

filesys=cobs64

4.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

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

condition-definition の記述形式

condition-definition の記述形式には、以下の3つの形式があります。

pos

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

len

被比較フィールド、または比較フィールドの長さをバイト数で指定します。
テキストファイル浮動フィールド指定、テキストファイルCSV形式、およびテキストファイルTSV形式の場合、指定したフィールド長よりも長いフィールドが現れた場合は、指定したフィールド長で処理します。指定したフィールド長よりも短いフィールドが現れた場合は、実際のフィールド長で処理します。
typ に符号なし2進数を指定する場合、len には1バイト分のビットを選択するためのマスク値を10進数で指定します。このとき、pos の位置にある1バイトのフィールド値とマスク値の論理積がフィールドの値となります。マスク値は、被比較フィールドと比較フィールドに同じ値を指定します。
各データ形式における指定可能な長さについては、被比較フィールドと比較フィールドに指定可能なデータ形式を参照してください。

注意

テキストファイルCSV形式、およびテキストファイルTSV形式の場合、フィールドを囲むダブルクォーテーション(")は、被比較フィールド、または比較フィールドの長さに含みません。また、ダブルクォーテーション(")で囲まれたフィールド内の2つ連続したダブルクォーテーション("")は、1つのダブルクォーテーション(")として長さを計算します。

例) テキストファイルCSV形式における、被比較フィールドと長さ
被比較フィールド        被比較フィールドとして有効な文字        被比較フィールドの長さ
ABC                     ABC                                     3バイト
"ABC"                   ABC                                     3バイト
"A""B""C"               A"B"C                                   5バイト
"A,B,C"                 A,B,C                                   5バイト

typ

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

注意

  • 被比較フィールドと比較フィールドのデータ形式が異なるときは、被比較フィールドのデータ形式に合わせてから比較します。

  • 被比較フィールドのデータ形式の種類が文字の場合、被比較フィールドと比較フィールドの短い方の長さで比較します。

  • 比較フィールドのデータ形式の種類が数値、または数字の場合、被比較フィールドと比較フィールドの短い方を長い方の長さに合わせて比較します。

  • ASCIIコードは、バイナリファイルの場合、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がEBCDICコード系以外の場合に指定できます。テキストファイルの場合、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がASCIIコード系の場合に指定できます。

  • EBCDICコードは、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がEBCDICコード系の場合に指定できます。

  • EUCファイルコード、EUC2バイトプロセスコード、およびEUC4バイトプロセスコードは、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がASCIIコード系で、環境変数LANGがC、またはEUCコードのlocaleの場合に指定できます。

  • Unicode UCS-2形式は、バイナリファイルの場合、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がEBCDICコード系以外の場合に指定できます。テキストファイルの場合、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がUnicode系(UCS-2形式)の場合に指定できます。どちらの場合も、環境変数LANGがC、またはUTF-8のlocaleの場合に指定できます。

  • Unicode UTF-32形式は、バイナリファイルの場合、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がEBCDICコード系以外の場合に指定できます。テキストファイルの場合、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がUnicode系(UTF-32形式)の場合に指定できます。どちらの場合も、環境変数LANGがC、またはUTF-8のlocaleの場合に指定できます。

  • Unicode UTF-8形式は、バイナリファイルの場合、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がEBCDICコード系以外の場合に指定できます。テキストファイルの場合、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がUnicode系(UTF-8形式)の場合に指定できます。どちらの場合も、環境変数LANGがC、またはUTF-8のlocaleの場合に指定できます。

opt

被比較フィールドの操作を指定します。
指定可能な操作を以下に示します。バイナリファイルの場合は、lが指定できます。テキストファイルの場合は、全ての被比較フィールドの操作が指定できます。複数の操作を指定する場合は、続けて記述します。

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とは排他関係にあります。

n

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

注意

  • 被比較フィールド、および比較フィールドのデータ形式に照合順序変更を指定した場合、被比較フィールドの操作は指定できません。

  • 被比較フィールド、および比較フィールドのデータ形式に文字形式2桁年号、外部10進形式2桁年号、内部10進形式2桁年号、および10進形式2桁年号を指定した場合、被比較フィールドの操作の指定は無視されます。

self-def

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

注意

  • オペランド引数で自己規定値を指定する場合の記述方法は使用するシェルにより異なります。代表的なシェルにおける記述例を以下に示します。なお、アーギュメントファイル(アーギュメントファイルオプション(-a))に記述する場合は、Bourneシェルの場合と同じ記述方法とします。

    • Bourneシェルの場合

      • オペランド引数で自己規定値の文字列を指定する場合は、オペランド引数全体をダブルクォーテーション(")で囲みます。

        例) 自己規定値として文字列「ABC」を指定する場合
        include="0.3asc.eq.'ABC'"
      • オペランド引数でダブルクォーテーション(")を含んだ自己規定値の文字列を指定する場合は、ダブルクォーテーション(")の前に円マーク(バックスラッシュ)を指定します。$、\、`など、シェルにより特別な意味を持つ文字も同様です。

        例) 自己規定値として文字列「"ABC"」を指定する場合
        include="0.5asc.eq.'\"ABC\"'"
      • オペランド引数でクォーテーション(')を含んだ自己規定値の文字列を指定する場合は、クォーテーション(')を2つ続けて指定します。

        例) 自己規定値として文字列「'ABC'」を指定する場合
        include="0.5asc.eq.'''ABC'''"
    • Cシェルの場合

      • オペランド引数で自己規定値の文字列を指定する場合は、文字列の前後のクォーテーション(')の前に円マーク(バックスラッシュ)を指定します。

        例) 自己規定値として文字列「ABC」を指定する場合
        include=0.3asc.eq.\'ABC\'
      • オペランド引数でダブルクォーテーション(")を含んだ自己規定値の文字列を指定する場合は、ダブルクォーテーション(")の前に円マーク(バックスラッシュ)を指定します。$、&、(、)、|、\、`、{、}、;、*、<、>、?、空白など、シェルにより特別な意味を持つ文字も同様です。

        例) 自己規定値として文字列「"ABC"」を指定する場合
        include=0.5asc.eq.\'\"ABC\"\'
      • オペランド引数でクォーテーション(')を含んだ自己規定値の文字列を指定する場合は、クォーテーション(')の前に円マーク(バックスラッシュ)を付け、2つ続けて指定します。

        例) 自己規定値として文字列「'ABC'」を指定する場合
        include=0.5asc.eq.\'\'\'ABC\'\'\'
  • 自己規定値の文字列を指定する場合、文字列は1文字以上である必要があります。

  • 自己規定値の10進数を指定する場合は、符号を指定できます。

  • 自己規定値は、被比較フィールドのデータ形式に合わせてから比較します。

  • テキストファイル固定フィールド指定の場合は、自己規定値にレコード分離文字を含むことはできません。

  • テキストファイル浮動フィールド指定の場合は、自己規定値にフィールド分離文字列、またはレコード分離文字を含むことはできません。

  • テキストファイルCSV形式、およびテキストファイルTSV形式の場合、自己規定値にフィールドを囲むダブルクォーテーション(")を指定する必要はありません。

  • データ形式が、固定小数点2進数、符号なし固定小数点2進数、8086形式固定小数点2進数、8086形式符号なし固定小数点2進数、システム依存形式固定小数点2進数、またはシステム依存形式符号なしの場合、自己規定値は16バイトで表現できる値まで指定できます。

cmp

比較演算子を指定します。
以下に比較演算子とその意味を示します。

比較演算子

意味(真の条件)

eq

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

ne

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

gt

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

ge

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

lt

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

le

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

注意

被比較フィールドが、EUCファイルコード、EUC2バイトプロセスコード、およびEUC4バイトプロセスコードの場合は、環境変数LC_COLLATEに従った照合順序で比較します。

RECNUM

レコード件数によって選択することを指定します。
condition-definition の記述形式3の場合に、「RECNUM」の固定文字列を指定します。

num

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

記述例

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

    include=11.4zdl.eq.31.4pdl
  2. 12バイト目の位置から長さ4バイトの固定小数点2進数のフィールドが「30」以上のレコードを処理の対象とする場合は、以下のように指定します。

    include=11.4fbi.ge.d30
  3. 10バイト目の位置から長さ4バイトの外部10進数のフィールドが「-1000」のレコードを選択する場合は、以下のように指定します。

    include=9.4zdl.eq.d-1000
  4. ファイルの先頭から50件目までのレコードを処理の対象とする場合は、以下のように指定します。

    include=RECNUM.le.50
  5. 10バイト目の位置から長さ5バイトのASCIIコードのフィールドに文字列「abcde」があるレコードを選択する場合は、以下のように指定します。

    Bourneシェルの場合
    include="9.5asc.eq.'abcde'"
    Cシェルの場合
    include=9.5asc.eq.\'abcde\'
  6. 10バイト目の位置から長さ5バイトのASCIIコードのフィールドに文字列「ab"cd」があるレコードを選択する場合は、以下のように指定します。

    Bourneシェルの場合
    include="9.5asc.eq.'ab\"cd'"
    Cシェルの場合
    include=9.5asc.eq.\'ab\"cd\'
  7. 10バイト目の位置から長さ5バイトのASCIIコードのフィールドに文字列「abc'd」があるレコードを選択する場合は、以下のように指定します。

    Bourneシェルの場合
    include="9.5asc.eq.'abc''d'"
    Cシェルの場合
    include=9.5asc.eq.\'abc\'\'d\'
  8. 4バイト目の位置から長さ3バイトのASCIIコードのフィールドに文字列「abc」があり、かつ10バイト目の位置から長さ3バイトのASCIIコードのフィールドに文字列「abc」があるレコード、または4バイト目の位置から長さ5バイトのASCIIコードのフィールドに文字列「abcde」があるレコードを選択する場合は、以下のように指定します。

    Bourneシェルの場合
    include="3.3asc.eq.'abc'.and.9.3asc.eq.'abc'.or.3.5asc.eq.'abcde'"
    Cシェルの場合
    include=3.3asc.eq.\'abc\'.and.9.3asc.eq.\'abc\'.or.3.5asc.eq.\'abcde\'

4.2.5.5 omitオペランド

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

記述形式

omit=condition-expression

condition-expression

選択フィールド(選択条件)を指定します。
condition-expression の記述形式については、入力ファイル情報オプション(-input)のincludeオペランド(condition-expression の記述形式)を参照してください。

4.2.5.6 reconstオペランド

入力ファイルのレコード再編成機能を使用する場合に再編成フィールドを指定します。
再編成フィールドに指定したフィールドは、出力レコードの先頭から順に詰めて出力します。入力ファイルのレコード再編成機能を使用する場合、キーフィールド、集約フィールド、出力ファイルのレコード選択機能で指定する選択フィールド、および出力ファイルのレコード再編成機能で指定する再編成フィールドは、入力ファイルのレコード再編成後のフィールド位置を指定します。

記述形式

reconst=reconst-definition

reconst-definition

再編成フィールドを指定します。
複数の再編成フィールドを指定する場合は、reconst-definition をコンマ(,)で区切って指定します。

reconst-definition の記述形式

reconst-definition の記述形式には、以下の4つの形式があります。

pos

再編成フィールドの位置を指定します。
バイナリファイルとテキストファイル固定フィールド指定の場合は、レコードの先頭を0としたバイト位置を指定します。テキストファイル浮動フィールド指定、テキストファイルCSV形式、およびテキストファイルTSV形式の場合は、0から数えたフィールド番号を指定します。

len

再編成フィールドの長さをバイト数で指定します。
テキストファイル浮動フィールド指定、テキストファイルCSV形式、およびテキストファイルTSV形式の場合、指定したフィールド長よりも長いフィールドが現れた場合は、指定したフィールド長で処理します。指定したフィールド長よりも短いフィールドが現れた場合は、実際のフィールド長で処理します。
reconst-definition の記述形式1では長さの制限はありません。reconst-definition の記述形式2の場合の各データ形式における指定可能な長さについては、1.6.4.4 再編成フィールドの自己規定値に指定可能なデータ形式を参照してください。

注意

テキストファイルCSV形式、およびテキストファイルTSV形式の場合、フィールドを囲むダブルクォーテーション(")は、再編成フィールドの長さに含みません。また、ダブルクォーテーション(")で囲まれたフィールド内の2つ連続したダブルクォーテーション("")は、1つのダブルクォーテーション(")として長さを計算します。

例) テキストファイルCSV形式における、再編成フィールドと長さ
再編成フィールド        再編成フィールドとして有効な文字        再編成フィールドの長さ
ABC                     ABC                                     3バイト
"ABC"                   ABC                                     3バイト
"A""B""C"               A"B"C                                   5バイト
"A,B,C"                 A,B,C                                   5バイト

self-def

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

注意

  • オペランド引数で自己規定値を指定する場合の記述方法は使用するシェルにより異なります。代表的なシェルにおける記述例を以下に示します。なお、アーギュメントファイル(アーギュメントファイルオプション(-a))に記述する場合は、Bourneシェルの場合と同じ記述方法とします。

    • Bourneシェルの場合

      • オペランド引数で自己規定値の文字列を指定する場合は、オペランド引数全体をダブルクォーテーション(")で囲みます。

        例) 自己規定値として文字列「ABC」を指定する場合
        reconst="'ABC'.3asc,0.10"
      • オペランド引数でダブルクォーテーション(")を含んだ自己規定値の文字列を指定する場合は、ダブルクォーテーション(")の前に円マーク(バックスラッシュ)を指定します。$、\、`など、シェルにより特別な意味を持つ文字も同様です。

        例) 自己規定値として文字列「"ABC"」を指定する場合
        reconst="'\"ABC\"'.5asc,0.10"
      • オペランド引数でクォーテーション(')を含んだ自己規定値の文字列を指定する場合は、クォーテーション(')を2つ続けて指定します。

        例) 自己規定値として文字列「'ABC'」を指定する場合
        reconst="'''ABC'''.5asc,0.10"
    • Cシェルの場合

      • オペランド引数で自己規定値の文字列を指定する場合は、文字列の前後のクォーテーション(')の前に円マーク(バックスラッシュ)を指定します。

        例) 自己規定値として文字列「ABC」を指定する場合
        reconst=\'ABC\'.3asc,0.10
      • オペランド引数でダブルクォーテーション(")を含んだ自己規定値の文字列を指定する場合は、ダブルクォーテーション(")の前に円マーク(バックスラッシュ)を指定します。$、&、(、)、|、\、`、{、}、;、*、<、>、?、空白など、シェルにより特別な意味を持つ文字も同様です。

        例) 自己規定値として文字列「"ABC"」を指定する場合
        reconst=\'\"ABC\"\'.5asc,0.10
      • オペランド引数でクォーテーション(')を含んだ自己規定値の文字列を指定する場合は、クォーテーション(')の前に円マーク(バックスラッシュ)を付け、2つ続けて指定します。

        例) 自己規定値として文字列「'ABC'」を指定する場合
        reconst=\'\'\'ABC\'\'\'.5asc,0.10
  • 自己規定値の文字列を指定する場合、文字列は1文字以上である必要があります。

  • 自己規定値の10進数を指定する場合は、符号を指定できます。

  • テキストファイル固定フィールド指定の場合は、自己規定値にレコード分離文字を含むことはできません。

  • テキストファイル浮動フィールド指定の場合は、自己規定値にフィールド分離文字列、またはレコード分離文字を含むことはできません。

  • テキストファイルCSV形式、およびテキストファイルTSV形式の場合、自己規定値にフィールド分離文字、レコード分離文字(注)、またはダブルクォーテーション(")が含まれているときは、自己規定値をダブルクォーテーション(")で囲んで出力します。この際、自己規定値のダブルクォーテーション(")は、2つ連続して出力します。

    注) 入力ファイルのレコード分離文字だけでなく、レコード分離文字として許されているCRLF、CR、およびLFのどれか1つでも含まれている場合、自己規定値をダブルクォーテーション(")で囲みます。
    例) 自己規定値にフィールド分離文字(コンマ)、またはダブルクォーテーション(")を含む場合の再編成フィールドに出力されるデータ
    自己規定値の指定        再編成フィールドに出力されるデータ
    FIELD"2"                "FIELD""2"""
    FIELD2,3                "FIELD2,3"
    FIELD"2",3              "FIELD""2"",3"
  • 自己規定値で指定した値とlen で指定した長さが異なるときは、以下に示すように処理します。

    • 自己規定値が文字列の場合

      • 自己規定値で指定した文字列の長さがlen で指定した長さより短い場合は、自己規定値を左詰めにして右余白に空白を詰めます。

      • 自己規定値で指定した文字列の長さがlen で指定した長さより長い場合は、エラーとなります。

    • 自己規定値が数字、または数値の場合

      • 自己規定値で指定した値をtyplen で指定したデータ形式と長さに変換して埋め込みます。

      • 変換結果がlen を超える場合は、エラーとなります。

  • typ で指定したデータ形式が、固定小数点2進数、符号なし固定小数点2進数、8086形式固定小数点2進数、8086形式符号なし固定小数点2進数、システム依存形式固定小数点2進数、またはシステム依存形式符号なしの場合、自己規定値はlen で指定した長さで表現できる値まで指定できます。

    長さ

    符号ありのデータ形式

    符号なしのデータ形式

    1バイト

    -128~127

    0~255

    2バイト

    -32768~32767

    0~65535

    3バイト

    -8388608~8388607

    0~16777215

    4バイト

    -2147483648~2147483647

    0~4294967295

    :

    :

    :

typ

自己規定値のデータ形式を指定します。
指定可能なデータ形式については、1.6.4.4 再編成フィールドの自己規定値に指定可能なデータ形式を参照してください。

注意

  • ASCIIコードは、バイナリファイルの場合、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がEBCDICコード系以外の場合に指定できます。テキストファイルの場合、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がASCIIコード系の場合に指定できます。

  • EBCDICコードは、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がEBCDICコード系の場合に指定できます。

  • EUCファイルコードは、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がASCIIコード系で、環境変数LANGがC、またはEUCコードのlocaleの場合に指定できます。

  • Unicode UCS-2形式は、バイナリファイルの場合、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がEBCDICコード系以外の場合に指定できます。テキストファイルの場合、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がUnicode系(UCS-2形式)の場合に指定できます。どちらの場合も、環境変数LANGがC、またはUTF-8のlocaleの場合に指定できます。

  • Unicode UTF-32形式は、バイナリファイルの場合、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がEBCDICコード系以外の場合に指定できます。テキストファイルの場合、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がUnicode系(UTF-32形式)の場合に指定できます。どちらの場合も、環境変数LANGがC、またはUTF-8のlocaleの場合に指定できます。

  • Unicode UTF-8形式は、バイナリファイルの場合、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がEBCDICコード系以外の場合に指定できます。テキストファイルの場合、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がUnicode系(UTF-8形式)の場合に指定できます。どちらの場合も、環境変数LANGがC、またはUTF-8のlocaleの場合に指定できます。

END

reconst-definition の記述形式3の場合に、「END」の固定文字列を指定します。

EMPTY

reconst-definition の記述形式4の場合に、「EMPTY」の固定文字列を指定します。

opt

再編成フィールドの操作を指定します。
テキストファイルCSV形式、またはテキストファイルTSV形式の場合の、reconst-definition の記述形式2、またはreconst-definition の記述形式4のときに指定できます。以下から選択して指定します。省略した場合は、Lを指定したものとして動作します。

opt

意味

A

再編成フィールドをダブルクォーテーション(")で囲みます。

L

再編成フィールドをダブルクォーテーション(")で囲みません。
ただし、再編成フィールドに、フィールド分離文字、レコード分離文字(注)、またはダブルクォーテーション(")が含まれている場合は、ダブルクォーテーション(")で囲みます。

注) 入力ファイルのレコード分離文字だけでなく、レコード分離文字として許されているCRLF、CR、およびLFのどれか1つでも含まれている場合、自己規定値をダブルクォーテーション(")で囲みます。

参考

  • テキストファイルCSV形式、またはテキストファイルTSV形式の場合、reconst-definition の記述形式1、またはreconst-definition の記述形式3のときに、再編成フィールドをダブルクォーテーション(")で囲むかどうかは、入力レコードのフィールドに従います。入力レコードのフィールドがダブルクォーテーション(")で囲まれているときは、レコード再編成後のフィールドもダブルクォーテーション(")で囲みます。

    例) 再編成フィールドを「reconst=1.3,2.2」と指定した場合
    入力レコード                 出力レコード
    "001","ABC",60               "ABC",60
    "002","ABCDE",50             "ABC",50
    "003","AB,CDE",40            "AB,",40
    "004","AB"CDE,30 (注)        "AB"C,30
    
    注) 2番目のフィールドは、「AB」がダブルクォーテーションで囲まれ、「CDE」がそのあとに続いていると判断します。

記述例

  1. 入力レコードの5バイト目から長さ10バイトのフィールドを再編成する場合は、以下のように指定します。

    reconst=4.10
  2. 自己規定値としてASCIIコードの「abc」を文字列で指定する場合は、以下のように指定します。

    Bourneシェルの場合
    reconst="'abc'.3asc"
    Cシェルの場合
    reconst=\'abc\'.3asc
  3. 自己規定値としてダブルクォーテーション(")を含んだASCIIコードの「ab"cd」を文字列で指定する場合は、以下のように指定します。

    Bourneシェルの場合
    reconst="'ab\"cd'.5asc"
    Cシェルの場合
    reconst=\'ab\"cd\'.5asc
  4. 自己規定値としてクォーテーション(')を含んだASCIIコードの「abc'd」を文字列で指定する場合は、以下のように指定します。

    Bourneシェルの場合
    reconst="'abc''d'.5asc"
    Cシェルの場合
    reconst=\'abc\'\'d\'.5asc
  5. 自己規定値としてASCIIコードの「abc」を16進数で指定する場合は、以下のように指定します。

    reconst=x616263.3asc
  6. 自己規定値として外部10進数の「-32」を長さ4バイトで指定する場合は、以下のように指定します。

    reconst=d-32.4zdl
  7. 入力レコードの5バイト目からレコードの最後までを再編成する場合は、以下のように指定します。

    reconst=4.END
  8. 入力レコードの3バイト目から長さ8バイトのフィールドを再編成し、その後に自己規定値として文字列「,」を再編成して、さらにその後に入力レコードの20バイト目から長さ5バイトのフィールドを再編成する場合は、以下のように指定します。

    Bourneシェルの場合
    reconst="2.8,','.1asc,19.5"
    Cシェルの場合
    reconst=2.8,\',\'.1asc,19.5
  9. テキストファイルCSV形式、またはテキストファイルTSV形式の場合、自己規定値としてASCIIコードの「abc」を文字列で指定し、このフィールドをダブルクォーテーション(")で囲むときは、以下のように指定します。

    Bourneシェルの場合
    reconst="'abc'.3ascA"
    Cシェルの場合
    reconst=\'abc\'.3ascA
  10. テキストファイルCSV形式、またはテキストファイルTSV形式の場合、入力レコードの1番目のフィールドと2番目のフィールドの間にダブルクォーテーション(")で囲まれた空フィールドを追加するときは、以下のように指定します。

    reconst=0.1,EMPTYA,1.END

4.2.5.7 eofオペランド

入力ファイルがテキストファイルの場合に、EOF制御文字の扱いを指定します。

記述形式

eof={ effect | ignore }

effect

最初のEOF制御文字をファイルの最後と認識して、最初のEOF制御文字までを入力します。

ignore

EOF制御文字をファイルの最後と認識せず、EOF制御文字以降も入力します。

注意

eofオペランドを省略した場合、ignoreを指定したものとして動作します。

4.2.5.8 overwriteオペランド

出力ファイルが入力ファイルと同じ場合に、処理を継続することを指定します。
出力ファイルに入力ファイルと同じファイルを指定し、overwriteオペランドを指定すると、指定された入力ファイルに処理結果が上書きされます。出力ファイルに入力ファイルと同じファイルを指定し、overwriteオペランドを省略した場合は、エラーになります。
overwriteオペランドは、ソート機能のときに有効です。

記述形式

overwrite

注意

出力ファイルが入力ファイルと同じ場合、ソート処理中に異常が発生すると、入力ファイルのデータは保証されない場合がありますので、注意してください。