2.1 コマンドオプションと組み合わせできる機能
ここでは,組み合わせできる機能をオプションごとに説明します。
- 〈この節の構成〉
-
(1) レコードの並び順に関係するオプション
-
キーの内容が同じレコード(重複レコード)を入力された順に並べたい場合
- <ソート>
-
「重複レコードの入力順序保存機能」を使用すると,レコードが入力された順に重複レコードが並びます。入力ファイルが複数あるときは,ファイルを指定した順番に入力されます。詳細は,「2.2 重複レコードの入力順序保存機能」を参照してください。
「重複レコードの入力順序保存機能」を使用しないと,入力順序は保証されません。
- <マージ>
-
入力ファイルの指定した順番に重複レコードが並びます。
-
ソートされていないファイルを併合(マージ)したい場合
「強制マージ機能」を使用すると,ソートされていないファイルを強制的に併合(マージ)できます。詳細は,「2.4 強制マージ機能」を参照してください。
「強制マージ機能」を使用しないでソートされていないファイルを入力すると,KBLS1212-E(SORT EE)またはKBLS401-E(SORT)メッセージが出力され,コマンドが異常終了します。
-
ソートされていないファイルをファイル分割(キー分割)したい場合【SORT EE】
「強制ファイル分割機能」を使用すると,ソートされていないファイルを強制的に分割できます。詳細は,「2.23 強制ファイル分割機能(SORT EEの機能)」を参照してください。
「強制ファイル分割機能」を使用しないでソートされていないファイルを入力すると,KBLS2030-Eメッセージが出力され,コマンドが異常終了します。
(2) キー・項目の比較方法に関係するオプション
-
文字属性のキーをEBCDIKコードの順序に並び替えたい場合
「EBCDIKコードキー比較機能」を使用すると,EBCDIKコードの順番にソートできます。詳細は,「2.3 EBCDIKコードキー比較機能」を参照してください。
-
文字属性のキーをJIS8コード以外の順序に並び替えたい場合【SORT EE】
「文字順序変更機能」を使用すると,文字順序をJIS8コード以外の順序にソートできます。詳細は,「2.17 文字順序変更機能(SORT EEの機能)」および「付録G altseq変換ファイル(SORT EEの機能)」を参照してください。
-
シフトJISコードの1バイト文字と2バイト文字が混在したデータをバイトではなく文字単位で比較したい場合【SORT EE】
「シフトJISコード比較オプション」を指定すると,文字属性のキー・比較項目を,シフトJISコードの体系に従って文字単位で比較できます。このとき,キー・項目長はバイトで指定します。詳細は,「2.32 シフトJISコード比較オプション(SORT EEの機能)」を参照してください。
なお,テキストファイルおよびCSVファイルには,マルチバイト文字属性を指定できます。また,シフトJIS以外の文字コードを扱うことができます。このとき,キー・項目長は文字数で指定します。詳細は,「付録I マルチバイト文字データの扱い」を参照してください。
-
2進数属性のキーをビット単位で比較したい場合【SORT EE】
ソートキーのデータを,指定したマスクビットでAND演算を行った結果で比較できます。詳細は,「2.40 符号なし2進数のマスクビット指定(SORT EEの機能)」を参照してください。
-
「-0」が「0」または「+0」よりも後ろにソートされるときに「-0」を前にソートしたい場合【SORT EE】
「2.33 ゼロデータ比較オプション(SORT EEの機能)」を参照してください。また,左分離符号付数字については,「付録E 左分離符号付き数字のデータ形式(SORT EEの機能)」を参照してください。
(3) レコードの抽出に関係するオプション
-
同じキーを持つ連続したレコードのうち1レコードだけを抽出したい場合
集約機能の「無条件レコード抽出機能」を使用すると,同じキーを持つ連続したレコードのうち,最初に配置されているレコードだけを抽出します。詳細は,「2.5 無条件レコード抽出機能」を参照してください。
-
複数個の出力パラメタを指定して重複しないようにレコードを振り分けたいときに複数の出力ファイルに同じレコードが出力されてしまう場合【SORT EE】
すべての出力パラメタに対して,指定した順に選択条件式を評価し選択します。選択条件によっては,1つの入力レコードが複数の出力ファイルへ出力されることがあります。
「選択条件式のブレイクオプション」を指定すると,選択条件式に合致した時点で評価を終了(ブレイク)します。1つの入力レコードは,最初に選択条件式に合致した1つの出力ファイルへ出力されます。詳細は,「2.45 選択条件式のブレイクオプション(SORT EEの機能)【08-50以降】」を参照してください。
(4) 集約機能のオーバーフロー判定に関係するオプション
-
2進数属性の集約項目の桁数オーバーフロー判定を10進数で判定したい場合
「10進数オーバーフロー判定機能」を使用すると,2進数属性の集約項目について,10進数の桁数でオーバーフロー判定をします。詳細は,「2.6 10進数オーバーフロー判定機能」を参照してください。
-
集約機能でオーバーフローを検出したときにエラーにしたい場合【SORT EE】
「集約結果オーバーフロー検知オプション」を指定すると,集約項目のオーバーフローが発生したときにKBLS1412-Eメッセージが出力され,コマンドが異常終了します。詳細は,「2.30 集約結果オーバーフロー検知オプション(SORT EEの機能)」を参照してください。
(5) エンディアンに関係するオプション
-
実行環境と異なるエンディアンのデータを扱いたい場合
「エンディアンオプション機能」を使用すると,2進数および内部浮動小数点のキー,比較項目,および集約項目のバイトオーダーを指定できます。
また,SORT EEでは,可変長順編成ファイルの各レコードの先頭(レコードヘッダ)に2進数で格納されているレコード長についても,バイトオーダーを指定できます。
詳細は,「2.7 エンディアンオプション機能」を参照してください。
(6) ファイルに関系するオプション
-
入力ファイルや出力ファイルのアクセスモードを指定したい場合【UNIX】
- <SORT>
-
「ファイル排他機能」を使用すると,入力ファイルを「排他モード」でオープンできます。
- <SORT EE>
-
「ファイル排他機能」を使用すると,入力ファイルおよび出力ファイルを「共用」,「共用・排他なし」,および「排他」のどれかのモードでオープンできます。
詳細は,「2.8 ファイル排他機能(UNIXの場合)」を参照してください。
-
キャッシュファイルに残っている出力データを強制的に出力したい場合
「キャッシュファイルの同期出力機能」を使用すると,キャッシュファイルに残っているデータを出力ファイルに出力したあと,コマンドを終了します。詳細は,「2.9 キャッシュファイルの同期出力機能」を参照してください。
-
既存の出力ファイルに対する上書き許可を制御したい場合
- <SORT>
-
SORTのデフォルトは,既存の出力ファイルへ上書き出力します。「既存ファイルの書き換え防止機能」を使用すると,既存の出力ファイルの書き換えを防ぐことができます。詳細は,「2.18 既存ファイルの書き換え防止機能(SORT の機能)」を参照してください。
- <SORT EE>
-
SORT EEのデフォルトは,既存の出力ファイルを上書きしません。「既存ファイルの上書きオプション」を指定すると,既存の出力ファイルへ上書きします。詳細は,「2.35.1 既存ファイルの上書きオプション」を参照してください。
-
レコード処理機能(レコード選択,集約,レコード編集機能など)と一緒にしたソート機能の出力結果を入力ファイルへ出力したい(入力ファイル名=出力ファイル名)場合【SORT EE】
ソート機能では,入力ファイルと出力ファイルに同じファイルを指定できます。ただし,SORT EEでは,ソート機能と一緒に,選択,集約,または編集機能など,複数のレコード処理機能を指定することができますが,入力と出力に同じファイルを指定することはできません。「入力ファイルの上書きオプション」を指定すると,レコード処理機能(選択,集約,または編集機能)を指定していても,入力と出力に同じファイルを指定できます。詳細は,「2.35.2 入力ファイルの上書きオプション」を参照ください。
-
ファイル分割機能,またはファイル連結機能でオープンするファイル数がシステムの制限エラーとなる場合【SORT EE】
「ファイル逐次OPEN/CLOSE機能」を使用すると,ファイル分割時の出力ファイル,およびファイル連結時の入力ファイルに対するオープンとクローズは一括で行わず,入出力するファイルだけで行います。詳細は,「2.24 ファイル逐次OPEN/CLOSE機能(SORT EEの機能)」を参照してください。
-
ファイル分割機能で出力レコードが1件もないときに空の分割ファイルの作成を抑止したい場合【SORT EE】
「0件ファイル出力抑止機能」を使用すると,空の分割ファイルの作成を抑止できます。詳細については,「2.26 0件ファイル出力抑止機能(SORT EEの機能)」を参照してください。
(7) データ形式に関係するオプション
-
内部10進数属性の集約項目の符号に絶対値符号を適用したい場合
「内部10進数符号保障機能」を使用すると,最初の集約項目の符号が絶対値のとき,集約結果に絶対値符号を適用します。詳細は,「2.10 内部10進数符号保障機能」を参照してください。
-
日立メインフレーム形式の内部10進数データを扱いたい場合【SORT EE】
「2.38 内部10進数符号オプション(SORT EEの機能)」を参照してください。
-
日立メインフレーム形式の外部10進数データを扱いたい場合【SORT EE】
「2.39 外部10進数データ形式オプション(SORT EEの機能)」を参照してください。
(8) データ形式不正に関係するオプション
-
外部10進数または内部10進数の形式不正な入力データが存在するがエラーにしたくない場合【SORT EE】
- <キー・比較項目・非分割データ>
-
「10進キーのキーチェック緩和機能」を使用すると,入力データが形式不正であってもエラーになりません。詳細は,「2.11 10進キーのキーチェック緩和機能(SORT EEの機能)」を参照してください。
「10進キーのキーチェック緩和機能」を使用しないと,外部10進数または内部10進数のキー・比較項目・分割キー・非分割データで,不正な形式のレコードを検出したとき,KBLS1211-E(キー),KBLS1320-E(比較項目),KBLS2042-E(分割キー),またはKBLS2060-E(非分割データ)メッセージが出力され,コマンドが異常終了します。
- <集約項目>
-
「10進集約項目のチェック緩和機能」を使用すると,入力データの形式が不正であってもエラーになりません。詳細は,「2.12 10進集約項目のチェック緩和機能(SORT EEの機能)」を参照してください。
「10進集約項目のチェック緩和機能」を使用しないと,外部10進数または内部10進数の集約項目で不正な形式のレコードを検出したときKBLS1411メッセージが出力され,コマンドが異常終了します。
-
空白やゼロ値の日付データをエラーにしたくない場合【SORT EE】
「日付データのチェック緩和機能」を使用すると,西暦下2桁の年号に空白(X'2020'),Low_value(X'0000'),High_value(X'FFFF')が設定されていてもエラーになりません。詳細は,「2.14 日付データのチェック緩和機能(SORT EE の機能)」を参照してください。
「日付データのチェック緩和機能」を使用しないと,日付属性のキー・比較項目・分割キー・非分割データで空白などの不正な形式のレコードを検出したとき,KBLS1211-E(キー),KBLS1320-E(比較項目),KBLS2042-E(分割キー),またはKBLS2060-E(非分割データ)メッセージが出力され,コマンドが異常終了します。
(9) キー範囲エラーに関係するオプション
-
キー範囲が入力レコードを超えていてもエラーにしたくない場合【SORT EE】
「キー位置のチェック緩和機能」を使用すると,キー・分割キー・分割データの指定範囲が実レコードを超えていてもエラーになりません。詳細は,「2.13 キー位置のチェック緩和機能(SORT EEの機能)」を参照してください。
「キー位置のチェック緩和機能」を使用しないと,可変長順編成ファイル,およびテキストファイルのキー・分割キー・非分割データの指定範囲が実レコード長を超えているとき,KBLS1208-E(キー),KBLS2041-E(分割キー),またはKBLS2057-E(非分割データ)メッセージが出力され,コマンドが異常終了します。
(10) レコードの入力範囲に関係するオプション
-
先頭のレコードを読み飛ばしたい場合,または決まった件数だけレコードを入力したい場合【SORT EE】
「入力レコードの読み飛ばし・打ち切り機能」を使用すると,ソート機能またはコピー機能を使用するときに,入力対象となるレコードの範囲を指定できます。詳細は,「2.16 入力レコードの読み飛ばし・打ち切り機能(SORT EEの機能)」を参照してください。
(11) チューニングに関係するオプション
-
ワークバッファのサイズ見積もりを簡単にしたい場合【SORT EE】
「ワークバッファサイズ自動見積もり機能」を使用すると,ソート機能で使用するワークバッファのサイズを自動で見積もれます。詳細は,「2.20 ワークバッファサイズ自動見積もり機能(SORT EEの機能)」を参照してください。
-
ファイルI/Oサイズを変更したい場合【SORT EE】
「I/Oサイズ変更機能」を使用すると,入力ファイル,出力ファイル,ソート用一時ファイル,マージ用一時ファイル,およびファイル分割用一時ファイルに対する1回のI/Oサイズを指定できます。詳細は,「2.19 I/Oサイズ変更機能(SORT EEの機能)」を参照してください。
-
非同期I/Oを使用したい場合【64ビット版SORT EE】
「非同期I/Oオプション」を指定すると,SORT EEで発行している一部のI/Oを,非同期I/Oで処理できます。詳細は,「2.48 非同期I/Oオプション(SORT EEの機能)」を参照してください。
-
ソートをマルチスレッドで実行したい場合【SORT EE】
「マルチスレッドオプション」を指定すると,データの入出力操作を最大4つのスレッドに分割し,並列に実行できます。詳細は,「2.49 マルチスレッドオプション(SORT EEの機能)【UNIX SORT EE(64) 09-00以降】」を参照してください。
(12) サイズ拡張に関系するオプション
-
2GB以上のワークバッファを使用してソートをインコアで処理したい場合【64ビット版SORT EE】
2GBを超えるワークバッファサイズを指定できます。詳細は,「2.21 2GB超ワークバッファサイズの指定(64ビット版SORT EEの機能)」を参照してください。
-
数MBのレコード長のテキストファイルを処理したい場合【64ビット版SORT EE】
テキストファイル,またはCSVファイルのレコード長の上限値を,最大1024MB(1GB)まで拡張することができます。詳細は,「2.50 最大レコード長の拡張(64ビット版SORT EEの機能)【Linux SORT EE(64) 09-10以降】」を参照してください。
-
キー・項目数,パラメタ数などの合計サイズを増やしたい場合【SORT EE】
「キー・項目の上限値拡張機能」を使用すると,キー,集約項目,および比較項目の合計サイズの上限値を拡張できます。詳細は,「2.27 キー・項目の上限値拡張機能(SORT EE の機能)」を参照してください。
(13) パラメタ数の拡張に関係するオプション
-
キー・項目数,パラメタ数などの指定数を増やしたい場合【SORT EE】
「キー・項目の上限値拡張機能」を使用すると,キー,集約項目,比較項目,フィールド情報,およびフォーマット項目の指定数の上限値を拡張できます。詳細は,「2.27 キー・項目の上限値拡張機能(SORT EE の機能)」を参照してください。また,「-outfileパラメタ数の制限解除オプション」を指定すると,-outfileパラメタの個数制限を解除できます。詳細は,「2.42 -outfileパラメタ数の制限解除オプション(SORT EEの機能)【08-50以降】」を参照してください。
なお,exsortコマンドに指定できる値や個数の範囲については,「3.3 指定できる値の範囲」を参照してください。
-
exsortパラメタファイルのサイズ制限を解除したい場合【SORT EE】
「exsortパラメタファイルサイズの制限解除オプション」を指定すると,exsortパラメタファイルのサイズ制限(256KB以内)を解除できます。詳細は,「2.43 exsortパラメタファイルサイズの制限解除オプション(SORT EEの機能)【08-50 以降】」を参照してください。
なお,-outfileパラメタの個数制限を解除しているときは,このオプションも同時に指定してください。
(14) メッセージに関係するオプション
-
ファイル連結機能およびファイル分割機能で大量に出力されるメッセージを抑止したい場合【SORT EE】
「メッセージ抑止機能」を使用すると,ファイル分割機能およびファイル連結機能で出力されるメッセージを抑止できます。詳細は,「2.25 メッセージ抑止機能(SORT EEの機能)」を参照してください。
-
メッセージを抑止したい場合,または出力先を変更したい場合【Windows版SORT】【SORT EE】
メッセージの出力有無,および出力先を環境変数で指定できます。なお,UNIX版SORTには,メッセージに関係するオプションはありません。
- <Windows版SORT>
-
詳細は「15.2 SORT の環境ファイルの設定(Windows の場合)」の「15.2.1 SORT の環境ファイルのパラメタの意味」の「(3) msg_opt=メッセージ出力オプション」および「(4) msg_file=メッセージの出力先ファイル名」を参照してください。
- <SORT EE>
-
詳細は,「2.28 メッセージ出力オプション(SORT EEの機能)」を参照してください。
(15) テキストファイル・CSVファイルに関係するオプション
-
CSVファイルに関する便利な機能が知りたい場合【SORT EE】
「2.29 CSVファイル関連の便利な機能(SORT EEの機能)」を参照してください。
なお,CSVファイルについては,次の付録を参照してください。
-
入力ファイルの改行文字の種類がわからない場合,または出力ファイルの改行文字を統一したい場合【SORT EE】
「改行文字の自動判定機能」を使用すると,入力レコードごとの改行文字(LFまたはCRLF)を自動的に判定できます。また,出力ファイルの改行文字を,LFまたはCRLFのどちらかに変更できます。詳細は,「2.31 改行文字の自動判定機能(SORT EEの機能)」を参照してください。
-
空行(改行だけのデータがない空レコード)を削除して入力したい場合【SORT EE】
「空行削除オプション」を指定すると,空行を削除して入力できます。詳細は,「2.34 空行削除オプション(SORT EEの機能)」を参照してください。
「空行削除オプション」を指定しないと,テキストファイルに空行があるとき,KBLS1636-Eメッセージが出力され,コマンドが異常終了します。また,CSVファイルの空行は,ソート対象外のレコードとして先頭または末尾に配置されます。
-
Unicodeシグニチャ(BOM)が付加されたファイルを扱いたい場合【SORT EE】
「2.36 Unicodeシグニチャ(BOM)関連オプション(SORT EEの機能)」を参照してください。
-
シングルバイトとマルチバイトが混在した文字データをバイトではなく文字単位で比較したい場合【SORT EE】
マルチバイト文字に対応した文字比較ができます。詳細は,次を参照してください。
-
CSV数値データのキーまたは比較項目のデータ形式が不正でも有効桁外のデータであればエラーにしたくない場合【SORT EE】
「CSV数値データ(固定小数点数)の形式チェックオプション」を指定すると,指定された有効桁内のデータ形式が正しければ,有効桁外のデータが不正であってもエラーにはなりません(有効桁内のデータ形式が不正であればエラーになります)。
詳細は,「2.44 CSV数値データ(固定小数点数)の形式チェックオプション(SORT EEの機能)【08-50以降】」を参照してください。また,CSVのデータ形式については,「付録C.2 CSVデータ形式」および「付録B.1 数値(固定小数点数)データの端数処理」を参照してください。
-
CSV日付データまたはCSV日付時刻データの一部分だけを比較したい場合【SORT EE】
CSV日付データ,またはCSV日付時刻データの比較項目のうち,一部分(年,月,日,時,分,秒,ミリ秒)だけ比較,選択できます。
詳細は,「2.46 CSV日付データの部分指定(SORT EEの機能)【08-50以降】」を参照してください。
(16) SORTの機能拡張に関係するオプション
-
SORT EEを導入以前から使用しているSORTのコマンドでSORT EE固有の機能を使用したい場合【SORT/SORT EE】
「SORTの機能拡張オプション」を指定すると,SORTのコマンドで,SORT EE固有の一部の機能が使用できるようになります。詳細は,「2.22 SORTの機能拡張オプション(SORTの機能)」を参照してください。
(17) SORT EEの簡易版コピー機能
-
UNIX OSのcpコマンドのように複数の可変長順編成ファイルやBOM付きテキストファイルを簡単にコピーしたい場合【SORT EE】
「簡易コピー機能」を使用すると,レコード長やレコード件数を制限せずに,複数の入力ファイルを1つの出力ファイルに複写できます。また,入力ファイルごとの可変長順編成ファイルのファイル情報や,テキスト・CSVファイルのBOMデータは,1つに統合して出力ファイルへ出力されます。詳細は,「2.41 簡易コピー機能(SORT EEの機能)」を参照してください。
(18) SORT EEの演算機能
-
入力レコードの10進数データを使って計算した値を代入したい場合【SORT EE】
「出力レコードフォーマットの演算機能」を使用すると,レコードの10進数データとほかの10進数データや定数を演算(加減乗除)した結果を代入できます。詳細は,「2.47 出力レコードフォーマットの演算機能(SORT EEの機能)【UNIX SORT EE(64) 09-00以降】」を参照してください。