.edit
.edit /<search_expression>/<replace_expression>/ [<relative_path>/]file [file ...]
.edit コマンドを使用して、1 つ以上のファイル内のテキスト・ストリングを検索および置換します。 .edit コマンドは、指定した各ファイルのすべての行で、ストリングの最初のインスタンス (search_expression) を置き換えます。 ユーザーが相対パスを指定しない限り、 ファイルはステップの作業ディレクトリーにあると想定されます。
.edit コマンドは、置換パターンでの () サブストリング選択および ¥N 置換の使用を含む、マッチングおよび置換用の標準 POSIX 正規表現を実装します。
.edit コマンドは、デフォルトで POSIX の拡張正規表現構文を使用します。 エージェントが Perl 互換正規表現サポートを使用してコンパイルされている場合は、置換表現の後に、PCRE 構文を指定する文字「p」を続けます。
円記号をエスケープ文字として使用する場合、エージェント・ホストのオペレーティング・システムに応じて異なる処理が必要になります。
- UNIX および Linux では、式はエージェントの処理によって 2 回解釈されるため、1 つの円記号を表すには 4 つの円記号を使用します。
例えば、リテラルのピリオド文字と一致させるためには、4 つの円記号と 1 つのピリオドを使用します。
\\\\.
- Windows の場合、同じリテラルのピリオドと一致させるために必要な円記号は 2 つのみです。
\\.
区切り文字をエスケープすることはできません。区切り文字をエスケープした方がよいと思われる場合は、代替の区切り文字を使用してください。例: 文字 abc のみを含むファイル abc.txt があります。これをストリング a/c で置き換えるとします。
- 誤った方法 - 以下の場合、区切り文字がエスケープ文字に優先するため、ストリングは変更されません。
.edit /abc/a¥/c/ abc.txt .edit /abc/a¥¥/c/ abc.txt .edit /abc/a¥¥¥¥/c/ abc.txt
- 正しい方法 - 区切り文字を変更すると a/c を置き換えることができます。
.edit "abc"a/c" abc.text
注: 1 つ以上のファイル名を、ワイルドカードなしで明示的にリストする必要があります。
例えば、次のコマンドは、drivermakefile という名前のファイルで、winXPdriver および win2000driver などのストリングを置換します。
.edit /win.*driver/linuxdriver/ drivermakefile
.edit コマンドは .strsub コマンドと似ていますが、以下の点が異なります。
- .strsub コマンドは、大規模なテキスト・ファイルまたは複数ファイルでの置換を .edit より速く実行できます。
- .edit コマンドは正規表現検索および置換を実行できます。
- .edit コマンドは、各ファイルのすべての行で、ストリングの最初のインスタンスのみ (search_expression) を置き換えます。
- .strsub コマンドは、各ファイルのすべての行で、ストリングのすべてのインスタンス (source) を置き換えます。