レコード範囲のラベル付け
SNGL 以外のどの表示形式の場合でも、レコード範囲を指定することによって、CHANGE、DELETE、EXCLUDE、および FIND コマンドの影響を受けるレコード数を制限できます。レコード範囲は、検索する最初のレコードと最後のレコードを示すレコード・ラベルのペアからなっています。ストリングが検出されるのは、そのストリングが指定された範囲内のレコードに含まれている場合です。
独自のラベルを使用して編集基本コマンドを制限するには、以下のようにします。
- 1 つのデータ・レコードの接頭部域にラベルを入力します。
レコード・ラベルは、ピリオド (.) とそれに続く 1 から 4 文字の英字 (数字または特殊文字は除く) からなっています。「.Z」で始まるラベルはエディターに予約されています (エディター割り当てのラベルを参照)。
- 2 番目のデータ・レコードの接頭部域にラベルを入力します。
ラベルを指定する順序は重要でありません。
- 基本コマンドといずれかのパラメーターを入力した後に、任意の順序で 2 つのラベルを入力します。
レコード範囲を指定するときは、2 つのラベルをブランクまたはコンマによって区切る必要があります。単一ラベルは無効です。このラベルは、エディター割り当てのラベル (.ZCSR、.ZFST、.ZLST) と自分で割り当てたラベルの任意の組み合わせが使用できます。
2 つのラベルを指定する順序とは無関係に、小さいほうの相対行番号を表しているラベルが範囲の始めとして使用され、大きいほうの相対行番号を表しているラベルが範囲の終わりとして使用されます。
その範囲内で最初に発生するインスタンスの上にカーソルが置かれます。
- FIND または CHANGE を使用している場合、検索ストリングのすべてのインスタンスが強調表示されますが、そのコマンドまたは RFIND (F5) および RCHANGE (F6) コマンドによる影響を受けるのは範囲内にあるインスタンスだけです。
- 一度割り当てると、レコードを移動しても、ラベルはレコードから離れません。
- ラベルを含んだレコードが削除されると、そのラベルも除去されます。
- 接頭部コマンドでラベルを上書きしても、そのラベルは除去されません。このコマンドが完了すると、レコード・ラベルは再表示されます。
- 同じラベルを新規レコードに入力することによって、ラベルを別のレコードに移動することができます。
- 指定する範囲に、表示対象になっていないか、あるいはシャドー行によって表現されている非選択レコードまたは抑制レコードが含まれている場合は、それらのレコードは CHANGE、DELETE、EXCLUDE、または FIND コマンドの影響を受けません。
- 指定する範囲に除外レコードが含まれている場合に、EX パラメーターを使用するか、または EXCLUDE パラメーターを指定しないと、そのレコードは基本コマンドによる影響を受けます。除外レコードが基本コマンドによって影響されると、そのレコードは非除外レコードになります。
次の例では、ラベル .HERE はレコード番号 16 に割り当てられており、ラベル .THRE はレコード番号 129 に割り当てられています。
⋮
00015 This is a data record.
.HERE This is a data record with a label.
00017 This is a data record.
⋮
00128 This is a data record.
.THRE This is a data record with a label.
00130 This is a data record.
⋮
この範囲は、次のようにコマンドを制限するために使用できるようになりました。
CHANGE A B .HERE .THRE
次のコマンドは、ラベル .HERE から .THRE までのレコードの範囲内でストリング「where」 が含まれているすべての除外レコードまたは非除外レコードを除外します。
EXCLUDE C'where' ALL ABC .HERE .THRE
レコードからラベルを除去するには、以下のいずれかを実行します。
- 1 つのラベルの場合: ラベルをスペース (または新しいラベル) で上書きし、Enter キーを押します。
- すべてのラベルの場合: RESET LABEL コマンドを入力します。