7.2.2 オペランドの意味
オペランドには,必ず指定するオペランドと任意に指定できるオペランドの2種類があります。
- 〈この項の構成〉
(1) ソートオプション
ソート処理で使用する機能上のオプションを指定します。ソートオプションのパラメタを次の表に示します。
パラメタ |
意味 |
---|---|
-d |
ファイル中に重複したキーのレコードがある場合,それらのデータを入力順に並べることを指定する(重複レコードの入力順序保存)。 |
-e |
入力ファイルを排他モードでオープンする(ファイル排他)。 |
-i |
出力ファイル名と同じ名前のファイルがすでにある場合,そのファイルの内容が書き換えられるのを防ぐ(既存ファイルの書き換え防止)。 |
-v |
EBCDIKコードの体系に従ってキーを比較する。 |
-q |
出力データがキャッシュファイルに残っている場合,すべてのデータをファイル出力したあと,コマンドを終了する(キャッシュファイルの同期出力)。 |
-B※1 |
ソートキーが数値項目の場合,big endian※2の数値として扱う。 |
複数のオプションを指定する場合は,次に示すどちらかの方法で指定します。
-
「-d△-e」のように分けて指定する(「△」は,スペース(空白)を示します)。
-
「-de」のようにつなげて指定する。
ソートオプションのパラメタの指定は,省略できます。省略した場合は,次のようになります。
-
「-d」の指定を省略した場合,重複レコードの入力順序は保存されません。
-
「-e」の指定を省略した場合,入力ファイルが共用モードでオープンされます。
-
「-i」の指定を省略した場合,出力ファイル名と同じ名前のファイルがすでにあると,そのファイルの内容が書き換えられます。
-
「-v」の指定を省略した場合,JIS8単位コードの体系に従ってキーが比較されます。
なお,ソートオプションを指定する場合は,次の点に注意してください。
-
入力ファイルが索引ファイルの場合は,「-d」を指定しても無効になります。
-
入力ファイルの書き込みが許可されていない場合,および,入力ファイルがすでにほかの処理でオープンされている場合は,「-e」は指定できません。
-
キー属性に「-j」を指定していない場合は,「-v」を指定しても無効になります。
-
ファイル中に重複したキーがある場合,ワークバッファサイズを変えると,重複したキーの順序が変わることがあります。重複したキーの順序が変わらないようにするには,「-d」を指定してください。
(2) 入力ファイルのファイル編成
入力ファイルのファイル編成を指定します。
複数の入力ファイルを指定する場合は,指定するファイルをすべて同じファイル編成にしてください。
入力ファイルのファイル編成の指定は,省略できません。必ず指定してください。入力ファイルのファイル編成のパラメタを次の表に示します。
パラメタ |
意味 |
---|---|
-S |
固定長順ファイルを指定する。 |
-V |
可変長順ファイルを指定する。 |
-R |
固定長相対ファイルを指定する。 |
-W |
可変長相対ファイルを指定する。 |
-I |
固定長索引ファイルを指定する。 |
-X |
可変長索引ファイルを指定する。 |
-A |
テキストファイルを指定する。 |
(3) 出力ファイルのファイル編成
出力ファイルのファイル編成を指定します。出力ファイルのレコードの形式(固定長,可変長またはテキスト)は,入力ファイルと同じにしなければなりません。
入力ファイルが順ファイル,相対ファイルまたはテキストファイルの場合,この指定は省略できます。指定を省略した場合は,入力ファイルと同じファイル編成が設定されます。入力ファイルが索引ファイルの場合は,順ファイルまたは相対ファイルのどちらかを必ず指定してください。
出力ファイルのファイル編成のパラメタを次の表に示します。
パラメタ |
意味 |
---|---|
:S |
固定長順ファイルを指定する。 |
:V |
可変長順ファイルを指定する。 |
:R |
固定長相対ファイルを指定する。 |
:W |
可変長相対ファイルを指定する。 |
:A |
テキストファイルを指定する。 |
(4) -Lレコード長
入力ファイル編成ごとのレコード長の指定方法を次の表に示します。
入力ファイル編成 |
レコード長の指定方法 |
---|---|
固定長順ファイル |
ファイルのレコード長を「1〜65,535」バイトの範囲で指定します。 |
可変長順ファイル |
指定は不要です。指定しても無視されます。 ただし,入力できるレコード長の範囲は,1〜65,535バイトです。 |
固定長相対ファイル |
|
可変長相対ファイル |
|
固定長索引ファイル |
指定は不要です。指定しても無視されます。 ただし,入力できるレコード長の範囲は,1〜65,503バイトです。 |
可変長索引ファイル |
|
テキストファイル |
ファイルの最大レコード長を「1〜65,535」バイトの範囲で指定します。レコード長には,改行文字「X'0A'」は含みません。 この指定は省略できます。指定を省略した場合は,「65535」バイトが設定されます。 なお,レコード長を指定した方が,ソート時間が短くなります。 |
(5) -o出力ファイル名
ソート結果の出力先ファイルをファイル名で指定します。
出力先ファイルに,入力ファイルと同じファイルの指定もできます。
この指定は省略できます。指定を省略した場合は,ソート結果を標準出力ファイルに出力します。
(6) -yワークバッファサイズ
ワークバッファとして使用するメモリの容量をKBまたはMB単位で指定します。ワークバッファサイズの指定は,メモリ量と単位で指定します。
(a) メモリ量
メモリ量の指定範囲を次の表に示します。
SORTの種別 |
レコード長※ |
指定範囲 |
---|---|---|
32ビット版 |
32,760バイト以下 |
128KB以上2,000MB以内の値を1〜7桁の数字で指定します。 |
32,760バイトより大きい |
256KB以上2,000MB以内の値を1〜7桁の数字で指定します。 |
|
64ビット版 |
32,760バイト以下 |
256KB以上2,000MB以内の値を1〜7桁の数字で指定します。 |
32,760バイトより大きい |
384KB以上2,000MB以内の値を1〜7桁の数字で指定します。 |
この指定は省略できます。この指定を省略したとき,または最小メモリ量に満たない大きさが指定されたときは,1,024KBが設定されます。ただし,環境変数SORTOPTに初期値が設定されている場合は,その値が設定されます。
環境変数SORTOPTの設定方法については,「14.2 SORTの環境変数の設定(UNIXの場合)」を参照してください。
(b) 単位
メモリ量の単位が,KBかMBかを指定します。
メモリの単位指定を次の表に示します。
単位 |
意味 |
---|---|
k |
単位をKBにする。 |
m |
単位をMBにする。 |
また,単位を省略した場合は,「KB(k)」で指定されます。単位の指定例を次に示します。
- (例)
-
1,024KB → 「-y1024k」または「-y1024」
10MB → 「-y10m」
(7) -Tディレクトリ名
ソート用一時ファイルを割り当てるディレクトリを指定します。なお,この指定は省略できます。
環境変数「TMPDIR」にディレクトリが設定されている場合は,-Tで指定したディレクトリではなく,環境変数「TMPDIR」で設定されているディレクトリ下にソート用一時ファイルが割り当てられます。
この環境変数「TMPDIR」の指定は,-Tおよび環境変数「SORTOPT」の-T指定よりも優先されます。
ソート用一時ファイルを使用する条件については,「16. 一時ファイルの作成条件とファイル容量の算出方法」を参照してください。
使用するディレクトリの優先順位を次に示します。
-
環境変数TMPDIRで指定したディレクトリ
-
rsortコマンドの-Tオペランドで指定したディレクトリ
-
環境変数SORTOPTの-Tで指定したディレクトリ
-
次の表で示すディレクトリ
表7‒17 ソート用一時ファイルが割り当てられるディレクトリ OS
ディレクトリ
HP-UX
/var/tmp
AIXまたはLinux
/tmp
環境変数SORTOPTの設定方法については,「14.2 SORTの環境変数の設定(UNIXの場合)」を参照してください。
(8) -T2ディレクトリ名2
マージ用一時ファイルを割り当てるディレクトリを指定します。なお,この指定は省略できます。
環境変数TMPDIRにディレクトリが設定されている場合は,-T2で指定したディレクトリではなく,環境変数TMPDIRで設定されているディレクトリ下にマージ用一時ファイルが割り当てられます。
この環境変数TMPDIRの指定は,-T2および環境変数SORTOPTの-T2指定よりも優先されます。
マージ用一時ファイルを使用する条件については,「16. 一時ファイルの作成条件とファイル容量の算出方法」を参照してください。
使用するディレクトリの優先順位を次に示します。
-
環境変数TMPDIRで指定したディレクトリ
-
環境変数SORTOPTの-T2で指定したディレクトリ
-
-Tで指定したディレクトリ
-
環境変数SORTOPTの-Tで指定したディレクトリ
-
表7-17で示すディレクトリ
環境変数SORTOPTの設定方法については,「14.2 SORTの環境変数の設定(UNIXの場合)」を参照してください。
(9) キー属性
ソートキーの属性を指定します。キー属性のパラメタを次の表に示します。
パラメタ |
意味 |
---|---|
-r |
キーを降順でソートすることを指定する。 |
-j |
キーが文字(JIS8単位コード※)であることを指定する。 |
-c |
キーが文字であることを指定する。 |
-n |
キーが符号付き固定小数点2進数であることを指定する。 |
-m |
キーが符号なし2進数であることを指定する。 |
-p |
キーが内部10進数であることを指定する。 |
-z |
キーが外部10進数であることを指定する。 |
-x |
キーが左符号付き外部10進数であることを指定する。 |
-s |
キーが右分離符号付き外部10進数であることを指定する。 |
-t |
キーが左分離符号付き外部10進数であることを指定する。 |
-f |
キーが内部浮動小数点であることを指定する。 |
-g |
キーが日付(英数字)であることを指定する。 |
「-r」を指定しないときは,キーの昇順でソートされます。また,ソートキーにするデータの属性を,「-j,-c,-n,-m,-p,-z,-x,-s,-t,-f,-g」のパラメタのどれかで必ず指定しなければなりません。降順でソートする場合は,「-rc」のようにつなげて指定します。なお,ソートオプションに「-v」を指定した場合,キーの属性を必ず「-j」で指定してください。
(10) +キー位置-キー長
キーの開始バイト位置を5桁以内の数字で指定します。開始バイト位置はレコードの先頭からのバイト位置(先頭を0とする)とします。開始バイト位置に指定できる値の範囲は次のとおりです。
-
順ファイルおよび相対ファイルの場合「0〜65,534」
-
索引ファイルの場合「0〜65,502」
-
テキストファイルの場合「0〜65,534」
また,キーのバイト長を4桁以内の数字「1〜4,096」で指定します。
この指定は,省略できません。必ず指定してください。
(11) 入力ファイル名
ソートの入力ファイルを指定します。同じファイルは2個以上指定できません。2個以上指定するときは,それぞれは互いに異なっていなければなりません。
入力ファイルが順ファイル,相対ファイルまたはテキストファイルの場合,この指定は,省略できます。省略したときは,入力ファイルに標準入力ファイルが設定されます。入力ファイルが索引ファイルの場合は,この指定は省略できません。