REEDITコマンドは、セッション内で以前に入力した文を編集するコマンドです。この文は、現在のセッション中に最近入力した最大256の文のリストであるコマンド・ログから取り出されます。REEDITを使用すると、文を実行せずに変更できるので、順次編集できます。
REDOコマンドは、REEDITに似ていますが、文の編集後にその文が実行されます。
注意: REEDIT文自身はコマンド・ログに含まれませんが、REEDITによって再実行された文は含まれます。 |
構文
REEDIT [number|index] 'original' 'replacement' [specifier]
引数
編集される文の番号を示す正のINTEGER
。文とその番号を表示するには、RECAP文を使用します。
コマンド・ログの末尾を基準とする、編集される文の位置を示す負のINTEGER
または0
(ゼロ)。最新の文は0
、その1つ前は-1
です(以降同様)。デフォルトは0
です。
編集される文の一部を表すテキスト・リテラル。
文が編集されるときにoriginalを置換するテキスト・リテラル。
表10-3「REEDIT指定子の有効な値」に示す指定子の1つ。各指定子は、編集される文でテキスト置換が行われる場所を示します。
表10-3 REEDIT指定子の有効な値
指定子 | 意味 |
---|---|
|
originalの最初の出現箇所のみをreplacementに変更することを指定する。 |
|
originalの最後の出現箇所のみをreplacementに変更することを指定する。 |
n |
replacementに変更するoriginalの出現箇所を示す数。たとえば、 |
|
originalのすべての出現箇所をreplacementに変更することを指定する。 |
|
originalのすべての出現箇所をreplacementに変更することを指定する。 |
デフォルトはALLです。指定子を指定しなかった場合、originalのすべての出現箇所がreplacementに変更されます。
注意
number引数またはindex引数を指定しないREEDIT
numberまたはindexのないREEDITを指定した場合、最新の文が編集されます。
大文字と小文字の区別
編集される文のテキストとoriginalの比較では、REEDITは大文字と小文字を区別しません。たとえば、originalとしてAT
を指定すると、REEDITでは、文中のat
、At
、aT
、AT
のいずれにも一致します。
originalをreplacementと置換する場合、REEDITではreplacementのすべての文字について大文字と小文字の違いが維持されます。たとえば、ShOw
をreplacementとして指定すると、編集される文でもこれと同じです。
例
例10-91 LIMITコマンドの複数の値の編集
次の例は、REEDIT文を使用して文を複数回編集してから実行する効果を示します。REEDITコマンドを使用すると、LIMITコマンドを実行する前にその複数の値を編集できます。LIMITコマンドは、REDO文を入力すると実行されます。
次の出力は、recap 1
という文の結果です。
COMMAND LOG
6: limit mydim to 1 to 10, 15 to 20, 24 to 28, 33 to 40
次の文を発行します。
REEDIT 6 '1' '2' FIRST
生成される出力は次のとおりです。
7: limit mydim to 2 to 10 , 15 to 20, 24 to 28, 33 to 40
次の文を発行します。
REEDIT 7 '15' '18'
生成される出力は次のとおりです。
8: limit mydim to 2 to 10 , 18 to 20, 24 to 28, 33 to 40
次の文を発行します。
REDO 8 '40' '41'
もう一度変更され、新しい値のLIMITコマンドが再実行されます。この文によって次の出力が生成されます。
9: limit mydim to 2 to 10 , 18 to 20, 24 to 28, 33 to 41