通常、設定ファイルの変更は、ファイル内の特定の位置が参照されます。 変更する領域は、変更コマンドを使用して直接的に指定するか、setpos コマンドを使用して間接的に指定できます。 ローカルの位置決めを使用した変更コマンドは、setpos コマンドを使用して設定されたポジショニングに影響を与えません。
位置決めは、Microsoft Word でテキストが選択されるのに似た仕組みで働きます。つまり、特定範囲を開始点および終了点で選択できます。 行ベースのファイルでは、行全体(最大限)を選択できます。
選択の開始点と終了点が同じ場合は、範囲ではなく 1 つの位置のみが選択されます。 このシナリオでは、挿入、追加、および変更機能には同じ効果があり、削除機能には効果がありません。
以下の setpos コマンドの説明では、範囲選択の例を示します。
注: 0x40 から 0x7f (「A」から「z」) までの ASCII 文字では、大文字と小文字の区別が行われません。 右側のテーブルにある、0x80 から 0xff (たとえば、umlauts など)の間の国固有の ASCII 文字は、そのほとんどで大文字と小文字が区別されます。
位置決めには、ワイルドカード * および ? を 使用できます。 これらのワイルドカードは、UNIX シェルと同様に解釈されます。
ファイルの編集に使用されるコマンドおよびその構文は、以下のとおりです。
さらに編集を行うファイルの領域を選択します。 後続の編集コマンドにローカルの位置決めが含まれない場合、それらのコマンドは選択した領域を変更できます。 position パラメータは、ファイル内の選択される領域を計算するのに使用される検索文字列として解釈されます。
以下の表に、考えられる position パラメータを示します。
|
position パラメータ |
マークされる領域 |
|---|---|
|
block |
行のブロック |
|
noblock |
ファイル内のすべての行 |
|
line |
個別の行 |
|
text |
行の一部 |
|
next line |
次の行 |
|
next text |
行の次の部分 |
ブロックは、開始行と終了行によって特定されます。 ブロックが編集されたというのは、ブロックの内部が編集されることを意味します。つまり、テキストが、append コマンドによって行の終わりの前に挿入されたり、insert コマンドによって行の始まりの後に挿入されることです。 delete コマンドは、ブロック内の行を削除しますが、開始行および終了行には影響あっりません。
ブロックまたは行が 1 つ選択されると、insert コマンドおよび append コマンドによってファイルに新しい行が挿入されます。 一方、領域の一部が選択されると、行全体(テキスト "*")をカバーするものであっても、テキストはその行の内部に挿入または追加されます。
noblock パラメータを使用してファイルの内容全体が選択され、これに insert コマンドが続く場合は、ファイルの始めに挿入が行われます。 その後に append コマンドが発行された場合は、テキストがファイルの終わりに追加されます。
領域選択の例:
setpos block "rem Start printerconfiguration" "rem end printer*" ...
新しい値が、現在選択されている位置の前に挿入されます。 位置が明示的に指定されていない場合は、新しく挿入される領域は、以下のコマンドで選択されます。
例: insert "new text"
現在選択されている位置の後に新しい値を挿入できます。 位置が明示的に指定されていない場合は、新しく挿入される領域は、以下のコマンドで選択されます。
例: append "appended text"
注: 空白行を挿入すると、以下のような効果があります。
append " "
選択した領域が新しい値に置き換わります。 position パラメータで指定された領域が存在しない場合は、新しい値は挿入されません。 位置が明示的に指定されていない場合は、新しく挿入される領域は、以下のコマンドで選択されます。 modify コマンドは、テキスト ファイル内で完全に選択されたブロックには適用できません。
選択された領域がファイルから削除されます。 コマンドの後の次の行が選択されます。
position パラメータで選択された領域は、出現するものすべてが新しい値に置き換わります。
注: replace コマンドは、将来的な拡張のために予約されています。 現在の実装では、replace コマンドはエラー メッセージが表示され、拒否されます。
|
Copyright © 2014 CA Technologies.
All rights reserved.
|
|