可変長データのCSVファイルのソート,マージ,およびコピーができます。
CSVファイルとは,幾つかのデータをコンマで区切ったテキストデータ,またはテキストファイルのことを指しますが,SORT EEでは,コンマ以外の任意の文字をデータの区切りに指定することもできます。
SORT EEのCSVファイルは,改行文字で複数のレコードに区切られ,さらに各レコードは任意の文字によって複数のデータ項目「セル」に区切られます。
SORT EEで扱うCSVファイルの形式を次の図に示します。
図C-1 SORT EEで扱うCSVファイルの形式
![[図データ]](FIGURE/ZX010050.GIF)
SORT EEでは,CSVファイルの仕様を次のとおりに規定しています。
- 改行文字をレコードの区切りとします(最終レコードの改行文字はなくてもかまいません)。
- レコードは,区切り文字である「デリミタ」によって,複数のデータ項目「セル」に区切られます。
- レコード長は可変長となります。
- 実データのないセルのことを,「NULLセル(空のセル)」と言います。
- セル数0個は,改行文字だけの空レコードを意味します。この場合は,すべてのセルがNULLセルであると仮定してソートの対象にします。
- セルデータに,改行文字またはデリミタを含む場合,セルデータを引用符で囲んでください。
- セルデータに引用符を含む場合,引用符を二つ並べてエスケープしてください(エスケープされていない引用符の直前までがセルデータと見なされます)。
CSVファイルのサイズを,次の表に示します。
表C-1 CSVファイルのサイズ
| 項目 |
範囲 |
説明 |
| レコード数 |
1〜2,147,483,647件
(1〜2G-1件) |
レコード件数が0件の場合は処理されません(空のファイルが出力されます)。 |
| レコード長 |
1〜レコード長の上限値 |
- UNIXの64ビット版で環境変数「EXSORT64MAXRECLEN」の指定がある場合,レコード長の上限値は,環境変数「EXSORT64MAXRECLEN」に指定した「レコード長の上限値」です。入力データのエンコード種別や改行文字の長さによって変わることはありません。
- UNIXの64ビット版(環境変数「EXSORT64MAXRECLEN」の指定がない,または無効の場合),UNIXの32ビット版,およびWindows版の場合,レコード長の上限値は「65,535バイト」です。
ただし,レコード長の上限値は,入力データのエンコード種別や改行文字の長さによって変わります。レコード長については「3.3.1 パラメタ」のレコード長を,改行文字については「5.8.7 recsepaオペランド」を,入力データのエンコードについては「5.8.13 codetypeオペランド」を参照してください。
- レコード長は,レコード長の上限値を超えてはなりません。なお,レコード長にデリミタ,引用符,通貨記号,符号,桁修飾文字(コンマ,小数点,空白など)は含まれますが,改行文字は含まれません。
- 入力レコード長を指定する入力ファイルパラメタ(-inpfile,-catinp,-splitinp,-joininpパラメタ)のreclenオペランドは省略できます。省略すると,入力データの最大レコード長はレコード長の上限値を設定するため,ソート機能で一時ファイルを使用する場合があるので注意してください。reclenオペランドの詳細は,「5.8.3 reclenオペランド」を参照してください。
|
| ファイル容量 |
0バイト以上(OSの制限に準拠) |
4GBを超えるファイルの指定ができます。 |
| セル数 |
0〜16,384個/レコード |
- NULLセル(空のセル)の個数も含まれます。
- キーに指定できるセルの個数は最大64個です。
|
| セル長 |
最小:0バイト
最大:レコード長の上限値 |
- セル長の最大値は,レコード長の上限値と同じです。詳細は,レコード長を参照してください。
- セル長が0バイトとは,NULLセル(空のセル)のことを表します。
- マルチバイト文字(日本語)の途中で最大長を超えた場合,超えた部分のマルチバイト文字以降は無視されます。
|
All Rights Reserved. Copyright (C) 2008, 2019, Hitachi, Ltd.