EXCLUDE/XX 基本コマンド
EXCLUDE 基本コマンドは、エディター・セッションでレコードを表示対象から除外します。(SNGL 表示形式では使用不可。)
XX コマンドを実行すると、「Extended Command Entry (拡張コマンド入力)」パネルが表示されます。このパネルでは、他の方法の場合にコマンド行に収まらない長さの引数を入力することができます。
EXCLUDE コマンドは追加方式であり、次の各 EXCLUDE コマンドは既に除外済みのレコード数を増加させます。
構文
- 1 パラメーターは、任意の順序で指定できます。
- * (アスタリスク)
- 直前の EXCLUDE コマンドで指定した検索ストリングが、検索ストリングとして使用されます。
- ストリング
- 検索するストリング。その他の EXCLUDE コマンド・パラメーターによって示された制限内にあり、このストリングを含むレコードは除外されます。ストリングは以下のいずれかが可能です。
- 引用符で開始または終了せず、ブランクまたはコンマを含まない文字ストリング。ストリングの大/小文字は無視されます。同一文字の英大文字表記と小文字表記は一致します。例えば、
MixedはMIXEDと一致します。 - 引用符で囲まれた文字ストリング。このストリングには、ブランクとコンマを入れることができます。ストリングの大/小文字は無視されます。例えば、
'Exact string'は'exact string'と一致します。 - 「C」と、その後に引用符で囲まれた文字ストリング (C'Frog')、または、引用符で囲まれた文字ストリングと、その後に「
C」('Frog'C)。このストリングには、ブランクとコンマを入れることができます。ストリングは (大文字/小文字も含めて) 完全に一致しなければなりません。例えば、C'Exact string'はC'exact string'と一致しません。 - P が前または後に付いている単一引用符または二重引用符で囲まれた、文字そのものではなく検索対象のストリングのタイプを表すピクチャー・ストリング。それ自体を表すブランク、英字、および数字、あるいは、それぞれ文字のクラスを表す下記の任意の特殊文字を含めることができます。
- =
- 任意の文字。
- @
- 英字。
- #
- 数字。
- $
- 特殊文字。
- & notsym;
- 非ブランク文字。
- .
- 無効文字。
- -
- 非数値文字。
- <
- 小文字英字。
- >
- 大文字英字。
EXCLUDE コマンドで使用されるピクチャー・ストリングの例:
ex p'.' 73 80- 73 桁目から 80 桁目の無効文字を除外します。
ex p'###'- 3 桁の数字 (例えば、101 は該当しますが、99 は該当しません) を除外します。
ex '@1'p 1- 列 1 のラベル a1、b1、c1、などを除外します。
ex p'<'- 次の小文字英字を除外します。
ex p'¬' 72- 72 桁目の次の非ブランク文字を除外します。
この表記が使用される場合、数字、ビット、およびユニコードのフィールド (SNGL および TABL 表示形式) は、検索処理から除外されます。
- 「X」と、その後に引用符で囲まれた 16 進数ストリング (X'C1C2')、または、引用符で囲まれた 16 進数ストリングと、その後に「
X」('C1C2'X)。 - 文字そのものではなくストリングのパターンとして指定するには、正規表現ストリングの前または後に R を追加し、単一引用符または二重引用符で囲みます。このストリングは、C ランタイム・ライブラリーでサポートされいる、C ランタイム・ライブラリーの regcomp 関数で許可されている形式に準拠している必要があり、かつ C ランタイム・ライブラリーが使用可能である必要があります。大/小文字を区別した検索を行うには、RC を使用します。正規表現の例は次のとおりです。
- 列 1 ~ 10 内の「cat」または「hat」
-
r'[ch]at' 1 10 - 「payer」または「payee」
-
r'pay(er!ee)' - 「band」または「bald」、ただし「bad」を除く
-
'ba.d'r - 「feed」または「weed」、ただし「fed」または「wed」を除く
-
r'[fw]e{2}d' - 「The」または「She」、ただし「the」または「she」を除く
-
rc'[TS]he'
この SETLOCALE 関数は、regcomp 関数が正規表現をコンパイルする際に使用するロケールを定義するために使用されます。SETLOCALE 関数に使用されるロケールは、端末 CCSID に基づいています。ロケールは、次の端末 CCSID でサポートされています。00037 00871 01123 01156 00273 00875 01140 01157 00277 00924 01141 01158 00278 00930 01142 01160 00280 00933 01143 01165 00284 00935 01144 01364 00285 00937 01145 01371 00290 00939 01146 01388 00297 01025 01147 01390 00424 01026 01148 01399 00425 01027 01149 04971 00500 01047 01153 05123 00838 01112 01154 08482 00870 01122 01155 12712別の CCSID を持つ端末を使用している場合、正規表現をコンパイルするときにデフォルトの C ロケールが使用されます。 - 数値 (SNGL または TABL 表示形式の場合に、フィールド参照を指定することによって検索を制限するときと検索中のフィールドが数値フィールドであるときのみ)。詳しくは、数値フィールドの検索を参照してください。
- 引用符で開始または終了せず、ブランクまたはコンマを含まない文字ストリング。ストリングの大/小文字は無視されます。同一文字の英大文字表記と小文字表記は一致します。例えば、
- ALL
- すべてのレコードをデータの先頭から最後まで検索します。注:
- EXCLUDE コマンドは、ALL パラメーターが指定されている場合でも、表示対象になっていないか、あるいはシャドー行によって表現されている抑制レコードまたは非選択レコードには作用しません。
- コマンド EXCLUDE ALL (他のパラメーターは指定しない) は表示されたレコードのすべてを除外します。
- FIRST
- データの先頭から string の最初のオカレンスを検索します。
- LAST
- データの最後から string の最後のオカレンスを逆方向に検索します。
- NEXT
- カーソル位置 (カーソルが画面のデータ部分内にある場合) から、あるいは画面に表示されている一番上のレコードの先頭から、まだ除外されていないレコード中の string の次のオカレンスを順方向に検索します。
- PREV
- カーソル位置 (カーソルが画面のデータ部分内にある場合) から、あるいは画面に表示されている一番上のレコードの先頭から、string の次のオカレンスを逆方向に検索します。
- PREFIX
- データ内の接頭部として出現する場所で、その検索ストリングに突き合わせます。接頭部にするには、一致したテキストの前に非英数字が付くか、あるいは一致したテキストが行またはフィールドの先頭である必要があり、その後に英数字が続く必要があります。
- SUFFIX
- データ内の接尾部として出現する場所で、その検索ストリングに突き合わせます。接尾部にするには、一致したテキストの前に英数字が付く必要があり、後に非英数字が続くか、一致したテキストが行またはフィールドの終端である必要があります。
- WORD
- データ内のワードとして出現する場所で、その検索ストリングに突き合わせます。ワードにするには、一致したテキストの前に非英数字が付くか、あるいは一致したテキストが行またはフィールドの先頭である必要があり、その後に非英数字が続くか、あるいは一致したテキストが行またはフィールドの終端である必要があります。
- col1
- 検索する桁の範囲内に含まれる最初の桁。1 以上であり、最大レコード長以下である必要があります。桁の範囲を指定して、データが SNGL または TABL 形式で表示されると、検索がデータの発生順に実行されます (これはフィールドの表示順ではないことがあります)。
SNGL 表示形式または TABL 表示形式の場合に桁の範囲を指定すると、数値フィールドの場合でも、ストリング比較が実行されます。
- col2
- 検索される桁の範囲内に含まれる最後の桁。col1 以上であり、最大レコード長以下でなければなりません。指定しない場合、ストリングは、col1 位置で開始するデータとストリングの長さにマッチングされます。
- #ALL
- 各フィールドが、テンプレート属性に従って検索されます。
- ref
- フィールド参照で、検索に含まれるフィールドを指定します。例えば、次のようになります。
#3。フィールドが配列の 1 つの項目であるときには、使用したいオカレンスを識別できるように添字を括弧で囲んで指定する必要があります。例えば、次のようになります。#5(3)。フィールドが多次元配列の一部である場合は、配列のそれぞれの次元ごとに添え字を指定する必要があります。例えば、次のようになります。#7(2,3)。複数フィールド参照は括弧 () で囲むか、あるいはスペースの介入なしでコンマで区切られていなければなりません。詳しくは、指定フィールドへの検索の制限を参照してください。
SNGL 表示形式または TABL 表示形式で、フィールド参照を指定するかフィールド参照も桁範囲も指定しないと、数値フィールドの検索時に、検索ストリングは数値として解釈され、数値比較が実行されます。文字フィールドの検索時には、ストリング比較が実行されます。つまり、File Manager のテンプレート属性に基づいて検索が実行されます。詳しくは、数値フィールドの検索を参照してください。
- ref_1
- フィールドの範囲の最初のフィールド参照。添え字にすることはできません。ref_1 フィールド参照値が、表示されている最小のフィールド参照値より小さい場合は、表示されている最小のフィールド参照値が使用されます。
- ref_2
- フィールドの範囲の最後のフィールド参照。添え字にすることはできません。ref_2 フィールド参照値が、表示されている最大のフィールド参照値より大きい場合は、表示されている最大のフィールド参照値が使用されます。
ref_1 および ref_2 フィールド参照値は、ハイフン (-) で区切る必要があります。ハイフンとフィールド参照値の間にスペースを使用することができます。
ref_1 の値が ref_2 より大きい場合は、検索プロセスはオペランドを取り消します。
- label1
- レコード範囲の始まりを識別するラベル。ラベルはピリオド (.) で始まり、その後に 1 から 4 文字の英字 (数字または特殊文字ではない) を続ける必要があります。文字「Z」で始まるラベルはエディター割り当てラベルを示します。
- label2
- レコード範囲の終わりを識別するラベル。ラベルはピリオド (.) で始まり、その後に 1 から 4 文字の英字 (数字または特殊文字ではない) を続ける必要があります。文字「Z」で始まるラベルはエディター割り当てラベルを示します。