ed または red コマンド
目的
テキスト・ファイルの行エディターです。
構文
説明
ed コマンドは行編集プログラム ed エディターを始動します。 このプログラムは一度にファイルを 1 つだけ処理するもので、ファイルを一時編集バッファーにコピーして、そのコピーに対して変更を行います。 ed エディターは、edit エディター、ex エディター、vi エディターも含まれているエディター・ファミリーに属しています。 ed エディターは、ユーザーが指定する変更をバッファー内で行います。 write (W) サブコマンドを使用するまでは、ファイル自体は変更されません。
エド コマンドを使用して ed エディターを開始するときに編集したいファイルの名前を指定するか、または E サブコマンドを使用することができます。 ed コマンドが新しいファイルをバッファーに読み取ると、そのファイルの内容がバッファーの前の内容に入れ代わります。
red コマンドは、ed コマンドの制限付きバージョンで、制限付きシェル (rsh) と一緒に使用されます。 赤 コマンドでは、現行ディレクトリーまたは /tmp ディレクトリーにあるファイルのみを編集します。 ! を使用することはできません。 サブコマンドと同じです。
ed エディター・サブコマンドは、0 個、1 個、または 2 個のアドレスから構成され、その後ろに 1 文字のサブコマンド、続いて、そのサブコマンドのオプションのパラメーターが置かれます。 アドレスはバッファー内の 1 行または複数行を指定します。 どのサブコマンドもデフォルト・アドレスを持っているので、ほとんどの場合アドレスを指定する必要はありません。
バッファー内の別の行をアドレス指定しない限り、ed エディターでは現在行以外は編集できません。 データの移動やコピーは行単位でのみ可能です。 ed エディターは大きなファイルを編集する場合や、シェル・プログラム内で編集を行う場合に便利です。
ed エディターは次の 2 つのモードのいずれかで作動します。
| 項目 | 説明 |
|---|---|
| コマンド・モード | コマンド・モードでは、ed エディターはサブコマンドを認識して実行します。 ed エディターの開始時はコマンド・モードになっています。 . を入力します。 (ピリオド) を押して、コマンド・モードになっていることを確認します。 |
| テキスト入力モード | テキスト入力モードでは、ed エディターによってテキストをファイル・バッファー内に入力できますが、 サブコマンドは認識されません。 テキスト入力モードに入るには、 Aサブコマンド、 C サブコマンド、または I サブコマンドを使用します。 テキスト入力モードを終了し、 . を入力してコマンド・モードに戻ります。 (ピリオド) だけが行の先頭に表示されます。 . を配置するには (ピリオド) を入力して、テキスト入力モードのときにバッファーに入れます。文字の後に . を入力します。 (ピリオド) です。 次に、テキスト入力モードを終了し、 S サブコマンドを使用して文字を除去します。 |
次に、ed エディターの上限を列挙します。
- 各ファイル名には、64 文字まで使用できます。
- 各グローバル・サブコマンド・リストには、 256 文字まで使用できます。
- バッファー・サイズは、128,000 文字です。注: バッファーには、元のファイルと編集情報が含まれています。
最大行数は、使用できるメモリーの量によって異なります。 最大ファイル・サイズは、使用可能な物理データ・ストレージ (ディスクまたはテープ・ドライブ) の量、 またはユーザー・メモリーで許可される最大行数によって異なります。
フラグ
パターン・マッチング
- 正規表現
次の正規表現は、単一の文字または照合エレメントと次のように突き合わせます。
項目 説明 Character Character そのものと突き合わせます。 通常の文字 (特殊パターン・マッチング記号以外の) を指定することができます。 . 改行文字を除く任意の 1 文字と一致します。 [STRING] 文字列内の任意の 1 文字と突き合わせます。 ある種のパターン・マッチング文字は、大括弧で囲むと次のような特別な意味になります。 - ^
- ストリング パラメーターの先頭文字が以下の場合に、 ストリング パラメーターの文字と改行文字を除くすべての文字に一致します。^(曲折アクセント記号)。 この条件は、以下の場合にのみ true になります。^ストリングの最初の文字です。[^STRING].
- -
- 現在の照合シーケンスに従って連続する ASCII 文字の範囲を示します。 例えば、[a-f] は [abcdef]、[aAbBcCdDeEfF]、[abcdef] と同じで、アクセント記号の付いた a および e 文字を含む場合もあります。 照合シーケンスは、文字の等価クラスを定義できます。
負符号は、ストリングの最初の文字として使用されると、その意味を失います。[-STRING]; 最初の曲折アクセント記号の直後にある場合は、[^-STRING]または、ストリングの最後の文字として表示される場合は、以下のようになります。[STRING-].
- ]
- 以下の場合に、ストリング終了文字としてではなく、ストリングの一部として機能します。](右大括弧) は、ストリング内の最初の文字です。[]STRING]または最初の曲折アクセント記号の直後に[^]STRING].
- パターンの形成
次の規則は、正規表現 (RE) からパターンを形成する方法を示しています。
- 単一の通常文字から構成されている RE は、 文字列内のそれと同じ文字と一致することになります。
- RE の後に*(アスタリスク) は、RE が一致する文字の 0 個以上のオカレンスと一致します。 例えば、以下のパターンは、
次のどの文字列にも一致しますが、ab*cd
次の文字列とは一致しません。acd abcd abbcd abbbcd
選択項目が存在する場合は、ストリングの先頭から最も長いマッチングが選択されます。 例えば、次の文字列の場合、abd
パターン .* 122333444 に一致し、パターン. * 3 は 122333 に一致し、パターン .*2 は 122 に一致します。122333444 - 後に次のものが続く RE は、次のように一致します。数字 m と n は、0 以上 255 以下の整数でなければなりません。 どのような選択肢が存在しても、このパターンは、できる限り多くの該当する文字と一致します。
項目 説明 \{m\} その RE と一致する m 個の文字と完全に 一致します。 \{分,\} その RE と一致する m 個以上 の文字と一致します。 \{分,N\} その RE と一致する m 個以上 n 個以下の任意の数の 文字と一致します。 - 同じ文字シーケンスを含んでいる文字列と一致するパターンに、 RE を組み合わせることができます。 例えば、AB¥*CD は文字列 AB*CD と一致し、[A-Za-z]*[0-9]* は、数字の任意の組み合わせ (ない場合も含む) が後に続く、英字の任意の組み合わせ (ない場合も含む) を含むすべての文字列と一致します。
- 文字シーケンス ¥(Pattern¥) がマークするサブパターンと一致する文字列は、 記号で囲まれていない場合にそのシーケンスが一致する文字列と同じです。
- 文字シーケンス ¥Number は、
パターン内でサブパターンが既に一致した同じ文字列 (上記の規則を参照) に一致します。 Number パラメーターのパターンは数字を表します。 パターン ¥数値 は、 数値 パラメーターで指定されたサブパターンのオカレンスに一致するストリングと一致し、時計回りにカウントされます。
例えば、以下のパターンは、
文字列 ABCBA と一致します。 サブパターンはネストできます。\(A\)\(B\)C\2\1
- 一致するパターンの制限
パターンは、行の最初のセグメント、最後のセグメント、または行全体と一致するように制限することができます。 ヌル・パターン、//(2 つのスラッシュ)、前のパターンを複写します。
- 行の最初のセグメントのマッチング
^Pattern パラメーターは、行の最初の文字位置で始まる文字列だけに一致します。
- 行の最後のセグメントのマッチング
Pattern$ パラメーターは、行の最後の文字 (改行文字以外) で終わる文字列だけに一致します。
- アイテム全体のマッチング
^Pattern$ パラメーターは、行全体が一致する制限付きでパターンを指定します。
行のアドレッシング
ed エディターには、3 種類のアドレスが使われます。行番号アドレス、現在行からの相対アドレス、およびパターン・アドレスです。 現在行 (通常は、サブコマンドの影響を受ける最後の行) は、バッファー内の参照点です。
行のアドレッシングでは、次の操作を行うことができます。
- 新しい現在行の指定
- アドレス指定した行の表示
- コマンドを所定の行で実行
アドレスを受け入れないサブコマンドは、アドレスの存在をエラーと見なします。 アドレスを受け入れるサブコマンドは、指定されたアドレスまたはデフォルト・アドレスの、 どちらかを使用できます。 受け入れ範囲を超えるアドレスが指定された場合、コマンドは最後 (一番右) のアドレスを使用します。
ほとんどの場合、コンマ (,) でアドレスを区切ります (例:2,8)。 セミコロン (;) でアドレスを区切ることもできます。 アドレス間にセミコロンを入れると、ed エディターは現在行を最初のアドレスに設定し、2 番目のアドレスを算出します (例えば、検索開始行を設定する場合)。 アドレスの組で、最初のアドレスは、2 番目のアドレスよりも小さい数値でなければなりません。
行番号と記号アドレスを使用すると、次のタスクを実行することができます。
- 現在行のアドレッシング
- 番号による行のアドレッシング
- 最初の行の前の行のアドレッシング
- 最終行のアドレッシング
- アドレス指定された行の前の行のアドレッシング
- アドレス指定された行の後の行のアドレス指定
- 最初の行から最後の行までのアドレッシング
- 現在行から最後の行までのアドレッシング
- 行グループのアドレッシング
- 指定されたパターンを含む次の行のアドレッシング
- 指定されたパターンを含む前の行のアドレッシング
- マークされた行のアドレッシング
- 現在行のアドレス指定
A.(ピリオド) は現在行をアドレス指定します。 . . (ピリオド) は、ほとんどの ed エディター・サブコマンドのデフォルトであり、指定する必要はありません。
- 番号による行のアドレス指定
バッファーの指定された行をアドレス指定するには、次のように入力します。
Numberこの場合、Number パラメーターは行番号を表します。 次に例を示します。
2253これにより、行番号 2253 が現在行としてアドレス指定されます。
- 最初の行の前の行のアドレッシング
バッファーの先頭行の前の行をアドレス指定するには、次のように入力します。
0
- 最終行のアドレッシング
バッファーの最終行をアドレス指定するには、次のように入力します。
$
- アドレス指定された行の前の行のアドレス指定
現在行の前に指定した行数のアドレスを指定するには、次のように入力します。
-Numberここで、 数値 パラメーターは、アドレス指定する現在行の前に指定された行数です。 次に例を示します。
-5現在行の前の 5 行目を現在行としてアドレス指定します。
また、現在行の直前の行をアドレス指定するには、-のみを指定することができます。 - には累積効果があります。 例えば、アドレス-(2 つの負符号 (-)) は、現在行の前の 2 行目をアドレス指定します。
- アドレス指定した行の後の行のアドレス指定
現在行の後に指定した行数のアドレスを指定するには、次のように入力します。
+Numberここで、 数値 パラメーターは、アドレス指定する現在行の後の指定された行数です。 + (正符号) はオプションです。 次に例を示します。
+11現在行の後の 11 行目を現在行としてアドレス指定します。
+ のみを指定して、現在行の直後の行をアドレス指定することもできます。 + には累積効果があります。 例えば、アドレス + + (2 つの正符号) は、現在行の 2 行後の行をアドレス指定します。
- 最後の行までの最初の行のアドレッシング
- 先頭行から最終行までをアドレス指定するには、次のように入力します。
,, (コンマ) は、アドレスの組 1,$ (先頭行から最終行まで) を表します。 先頭行が現在行になります。
- 最後の行による現在行のアドレッシング
- 現在行から最終行までをアドレス指定するには、次のように入力します。
;; (セミコロン) は、アドレスの組 .,$ (現在行から最終行まで) を表します。
- グループ行のアドレス指定
- 行のグループをアドレス指定するには、次のように入力します。
FirstAddress,LastAddressこの場合、FirstAddress パラメーターは、アドレス指定したいグループ内の先頭行の行番号 (または記号アドレス) です。LastAddress パラメーターは、グループ内の最終行の行番号 (または記号アドレス) です。 グループ内の先頭行が現在行になります。 次に例を示します。3421,4456これにより、行 3421 から 4456 までがアドレス指定されます。 行 3421 が現在行になります。
- 指定されたパターンを含む次の行のアドレッシング
- 一致する文字列が入っている行の次行をアドレス指定するには、次のように入力します。
/Pattern/ここで、 パターン パラメーターは文字ストリングまたは 正規表現です。 検索は、現在行の次の行から始まり、パターンに一致する行が見つかると停止します。 必要であれば、検索処理はバッファーの終わりまで移動し、バッファーの先頭に折り返し、一致する行が見つかるまで継続されるか、または現在行に戻ります。 次に例を示します。
これにより、Austin, Texas が入っている行の次の行が現在行としてアドレス指定されます。/Austin, Texas/
- 指定したパターンを含む前の行のアドレス指定
パターンに一致する値が入っている前行をアドレス指定するには、次のように入力します。
?Pattern?ここで、 パターン パラメーターは文字ストリングまたは 正規表現です。 この?pattern?構築、類似/pattern/バッファー全体を検索できますが、逆の方向で検索します。 次に例を示します。?Austin, Texas?これにより、Austin, Texas が入っている行の前の行が、現在行としてアドレス指定されます。
- マークされた回線のアドレス指定
K サブコマンドを使用して、マークされた行をアドレス指定するには、次のように入力します。
'xこの場合、x パラメーターは a から z までの小文字です。 次に例を示します。
これにより、k サブコマンドで c とマークした行がアドレス指定されます。'c
サブコマンド
ed エディター・サブコマンドを使用すると、次の操作を行うことができます。
大抵の場合、1 行に入力できる ed エディター・サブコマンドは 1 つだけです。 ただし、 L (リスト) および P (印刷) サブコマンドは、 E (編集)、 「E」 (編集)、 F (ファイル)、 Q (終了)、 Q (終了)、 R (読み取り)、 W (書き込み)、および ! を除く任意のサブコマンドに追加できます。 (オペレーティング・システム・コマンド) サブコマンド。
e、f、r、および w サブコマンドでは、ファイル名をパラメーターとして指定できます。 ed エディターは、サブコマンドに使用された最後のファイル名をデフォルト・ファイル名として格納します。 ファイル名を指定せずに e、E、 f、r、w のいずれかのサブコマンドを次に使用すると、デフォルトのファイル名が使用されます。
ed エディターは、次の 2 つのメッセージのいずれかでエラー条件に応答します。?(疑問符) または?File。ed エディターは、割り込みシグナル (Ctrl-C キー・シーケンス) を受信すると、?を表示してコマンド・モードに戻ります。 ed エディターは、ファイルを読み取ると、ASCII null 文字および最後の改行文字の後のすべての文字を破棄します。
ファイルの編集
ed エディター・サブコマンドを使用すると、以下のタスクを実行できます。
- テキストの追加
- テキストの変更
- テキストのコピー
- テキストの削除
- テキストの表示
- 行の結合と分割
- 一括変更
- テキストのマーク付け
- テキストの移動
- テキストの保存
- テキストの検索
- テキストの置換
- テキスト変更の取り消し注: ed エディター・サブコマンドの以下の説明では、デフォルト・アドレスが括弧内に示されています。 この括弧は入力しないでください。 アドレス。 (ピリオド) は現在行を参照します。 A (ピリオド) は、コマンド・モードに戻るための信号です。
- テキストの追加
-
項目 説明 (.)A [L] [N] [P] テキスト. a (append) サブコマンドは、アドレス指定された行の後 のバッファーにテキストを追加します。 a サブコマンドは、テキストが最後に挿入された行を現在行に設定します。行が挿入されなかった場合は、アドレス指定された行が現在行になります。 アドレス 0 を指定すると、バッファーの先頭にテキストが追加されます。 追加したテキストを表示したい場合は、l (list)、n (number)、または p (print) オプション・サブコマンドを入力します。
テキストを入力するときは、各行の終わりに Enter キーを押してください。 各行の終わりに Enter を押さないと、行に文字を入力した後に、ed エディターによってカーソルが自動的に次の行に移動されます。 ed エディターは、画面に占める行数には関係なく、Enter を押す前に入力されたものをすべて 1 行として処理します。
テキストをすべて入力した後に改行の先頭で . (ピリオド) を入力します。
(.)I [L] [N] [P]テキスト. i (insert) サブコマンドは、アドレス指定された行の前 にテキストを挿入し、最後にテキストが挿入された行を現在行に設定します。 挿入がない場合、i サブコマンドはアドレス指定された行を現在行に設定します。 このサブコマンドには 0 アドレスは使用できません。 挿入したテキストを表示したい場合は、 l (list)、n (number)、 p (print) オプション・サブコマンドのいずれかを入力します。
テキストを入力するときは、各行の終わりに Enter キーを押してください。 各行の終わりに Enter を押さないと、行に文字を入力した後に、ed エディターによってカーソルが自動的に次の行に移動されます。 ed エディターは、画面に占める行数には関係なく、Enter を押す前に入力されたものをすべて 1 行として処理します。
テキストをすべて入力した後に改行の先頭で . (ピリオド) を入力します。
注: I サブコマンドは、テキストの配置のみが A サブコマンドと異なります。ed エディター・サブコマンドを使用すると、さまざまな場所にテキストを挿入できます。 上記のフォーマットを使用して、次の編集タスクを実行できます。
- 現在行の後にテキストを追加するには
- 現在行の前にテキストを追加するには
- アドレス指定した行の後にテキストを追加する
- アドレス指定した行の前にテキストを追加するには
- 検索パターンを含む行の後にテキストを追加するには
- 次のサブコマンドを入力します。
この場合、Address は、Pattern パラメーターで指定したパターンが検索される行の範囲を指定するオプション・パラメーターです。 パターン パラメーターは、文字ストリングまたは 正規表現です。 Address パラメーターを省略すると、 ed エディターはパターンが入っている行を探してファイル全体を検索します。 L、 N、および P オプション・サブコマンドは、追加されたテキストを表示します。[Address]g/Pattern/a[l][n][p] - 円記号を入力します。
\ - テキストを入力します。 追加したテキスト内で新しい行を始めるには、次のように円記号を入力し、
次に Enter を押します。 コマンド内で指定したパターンが入っている各行の後に、入力したテキストが追加されます。\ - Enter を押すと、コマンド・モードに戻ります。
- 次のサブコマンドを入力します。
- 検索パターンを含む行の前にテキストを追加するには
- 次のサブコマンドを入力します。
この場合、Address は、Pattern パラメーターで指定したパターンが検索される行の範囲を指定するオプション・パラメーターです。 パターン パラメーターは、文字ストリングまたは 正規表現です。 Address パラメーターを省略すると、 ed エディターはパターンが入っている行を探してファイル全体を検索します。 L、 N、および P オプション・サブコマンドは、追加されたテキストを表示します。[Address]g/Pattern/i[l][n][p] - 円記号を入力します。
\ - テキストを入力します。 追加したテキスト内で新しい行を始めるには、次のように円記号を入力し、
次に Enter を押します。 コマンド内で指定したパターンが入っている各行の前に、 入力したテキストが追加されます。\ - Enter を押すと、コマンド・モードに戻ります。
- 次のサブコマンドを入力します。
- 検索パターンを含まない行の後にテキストを追加するには
- 次のサブコマンドを入力します。
この場合、Address は、 Pattern パラメーターで指定したパターンが入っていない行を探すため検索される行の、 範囲を指定するオプション・パラメーターです。 パターン パラメーターは、文字ストリングまたは 正規表現です。 Address パラメーターを省略すると、ed エディターはパターンが入っていない行を探すためファイル全体を検索します。 L、 N、および P オプション・サブコマンドは、追加されたテキストを表示します。[Address]g/Pattern/a[l][n][p] - 円記号を入力します。
\ - テキストを入力します。 追加したテキスト内で新しい行を始めるには、次のように円記号を入力し、
次に Enter を押します。 コマンド内で指定したパターンが入っていない各行の後に、入力したテキストが追加されます。\ - Enter を押すと、コマンド・モードに戻ります。
- 次のサブコマンドを入力します。
- 検索パターンを含まない行の前にテキストを追加するには
- 次のサブコマンドを入力します。
この場合、Address は、 Pattern パラメーターで指定したパターンが入っていない行を探すため検索される行の、 範囲を指定するオプション・パラメーターです。 パターン パラメーターは、文字ストリングまたは 正規表現です。 Address パラメーターを省略すると、ed エディターはパターンが入っていない行を探してファイル全体を検索します。 L、 N、および P オプション・サブコマンドは、追加されたテキストを表示します。[Address]g/Pattern/i[l][n][p] - 円記号を入力します。
\ - テキストを入力します。 追加したテキスト内で新しい行を始めるには、次のように円記号を入力し、
次に Enter を押します。 コマンド内で指定したパターンが入っていない各行の前に、入力したテキストが追加されます。\ - Enter を押すと、コマンド・モードに戻ります。
- 次のサブコマンドを入力します。
- テキストを変更する
-
項目 説明 (.,.)C [L] [N] [P]テキスト. c (change) サブコマンドは、置換対象としてアドレス指定された行を削除して、新しく入力された行と置き換えます。 c サブコマンドは、 最後に入力された新しい行を現在行に設定します。 あるいは入力されていない場合は、削除されていない最初の行が現在行になります。 挿入したテキストを表示したい場合は、 l (list)、n (number)、 p (print) オプション・サブコマンドのいずれかを入力します。
新しいテキストを入力し、各行の終わりで Enter キーを押します。 新しいテキストをすべて入力したら、1 行ごとに . (ピリオド) を入力してください。
ed エディターを使用すると、さまざまな方法でテキストを変更することができます。 上記のフォーマットを使用して、次の編集タスクを実行できます。
- 現在の LIne のテキストを変更するには
- 行または行グループのテキストを変更するには
- 指定したパターンを含む行のテキストを変更するには
- 指定したパターンが入っていない行のテキストを変更する
- 次のサブコマンドを入力します。
この場合、Address パラメーターは、 Pattern パラメーターで指定したパターンを検索したい、 行範囲のアドレスです。 L、 N、および P オプション・サブコマンドは、変更されたテキストを表示します。Addressv/Pattern/c[l][n][p] - 円記号を入力します。
\ - 新しいテキストを入力します。 新しいテキスト内で新しい行を始めるには、次のように円記号を入力し、
次に Enter を押します。\ - コマンド・モードに戻るためには, 再び実行キーを押して, A を入力してください。 (ピリオド) を入力して, もう一度実行キーを押してください。
- 次のサブコマンドを入力します。
- テキストのコピー
-
項目 説明 (.,.)T住所 [P] [L] [N] t (transfer) サブコマンドは、アドレス指定した行のコピーを、Address パラメーターで指定した行の後に挿入します。 t サブコマンドはアドレス 0 を受け入れてバッファーの先頭に行を挿入します。 t サブコマンドは、コピーされた最後の行を現在行に設定します。
転送されたテキストを表示したい場合は、l (list)、n (number)、または p (print) のオプション・サブコマンドを入力します。
1 行または行範囲をコピーすると、指定した行は元の位置に残り、コピーが新しい位置に挿入されます。 アドレスまたはパターンを指定して、コピーする行を選択できます。 上記のフォーマットを使用して、次の編集タスクを実行できます。
- 現在行をコピーするには
- アドレスで指定された行をコピーするには
- 指定したパターンを含む行をコピーするには
- 次のサブコマンドを入力します。
[Address]g/Pattern/t[DestinationAddress][l][n][p]ここで、 Address は指定したパターンが入っている行を検索する行範囲を指定するオプション・パラメーター、Pattern パラメーターは検索対象のテキスト、DestinationAddress はテキストのコピー先の前の行を表すオプション・パラメーターです。 L、 N、および P オプション・サブコマンドは、コピーされた行を表示します。
Address パラメーターを省略すると、 ed エディターはパターンが入っている行を探してファイル全体を検索します。 DestinationAddress パラメーターを省略すると、現在行の後にコピーされたテキストが挿入されます。
- 指定したパターンを含まない行をコピーするには
- 次のサブコマンドを入力します。
[Address]v/Pattern/t[DestinationAddress][l][n][p]ここで、 Address は指定したパターンが入っていない行を検索する行範囲を指定するオプション・パラメーター、Pattern パラメーターはテキスト、DestinationAddress はテキストのコピー先の前の行を表すオプション・パラメーターです。 L、 N、および P オプション・サブコマンドは、コピーされた行を表示します。
Address パラメーターを省略すると、ed エディターはパターンが入っていない行を探してファイル全体を検索します。 DestinationAddress パラメーターを省略すると、現在行の後にコピーされたテキストが挿入されます。
- テキストの削除
項目 説明 (.,.)D [L] [N] [P] d (delete) サブコマンドは、アドレス指定した行をバッファーから除去します。 最後に削除された行の後の行が現在行になります。 削除された行がもともとバッファーの終わりにあった場合は、新しい最終行が現在行になります。 削除した結果を表示したい場合は、l (list)、n (number)、p (print) のオプション・サブコマンドのいずれかを入力します。
ed エディターを使用すると、いくつかの方法でテキストを削除することができます。 上記のフォーマットを使用して、次の編集タスクを実行できます。
- 現在行を削除するには
- 行または行グループを削除するには
- 指定したパターンを含む行または行グループを削除するには
- 指定したパターンが入っていない行または行範囲を削除する
- 現在行からテキストを削除するには
- 次のサブコマンドを入力します。
ここで、 パターン パラメーターは、削除するテキストを表す文字ストリングまたは 正規表現 です。s/Pattern - パターンの最初のインスタンス を行から削除するには、
次のように入力します。
または//パターンのすべてのインスタンス を行から削除するには、次のように入力します。
//g - 削除した結果を表示したい場合は、次のいずれかのオプション・サブコマンドを入力します。
- Enter キーを押します。
- 次のサブコマンドを入力します。
- 選択したアイテム内のテキストを削除するには
- 選択する行範囲のアドレスを入力します (すべての行を選択する場合は、 このステップを省きます)。
- ステップ 4 の Pattern パラメーターで、
指定する行を選択するには、次のように入力します。
またはgステップ 4 の Pattern パラメーターで指定しない 行を選択するには、次のように入力します。
v - 検索したいテキストを入力するには、次のサブコマンドを実行します。
この場合、Pattern パラメーターは検索したいテキストです。/Pattern/s - 次のいずれかのコマンドを入力して、希望する削除を行います。選択した各行内で、Pattern パラメーターの最初のインスタンスを削除するには、次のように入力します。
選択した各行内で、Pattern パラメーターのすべてのインスタンスを削除するには、次のように入力します。///
選択された各行内で、Pattern パラメーターのオカレンスを指定した数だけ最初の方から削除するには、次のように入力します (この場合、Number パラメーターは整数です)。///g
Pattern パラメーターで選択した各行内で、OtherPattern パラメーターで指定した最初の文字列を削除するには、次のように入力します (この場合、OtherPattern パラメーターは、検索したいパターンです)。///Number
Pattern パラメーターで指定した各行内で、OtherPattern パラメーターのすべてのインスタンスを削除するには、次のように入力します。/OtherPattern//
Pattern パラメーターで指定した各行内で、OtherPattern のオカレンスを指定した数だけ最初の方から削除するには、次のように入力します (この場合、Number パラメーターは整数です)。/OtherPattern//g/OtherPattern//Number - 削除した結果を表示したい場合は、次のいずれかのオプション・サブコマンドを入力します。
- Enter キーを押します。
例えば、ある行範囲 からパターンのすべてのインスタンスを削除するには、次のように入力します。38,$g/tmp/s/gn前の例では、38 行目から最後の行 (38,$) 対象:tmpすべてのインスタンスを削除します (/g) これらの行内の文字ストリングの長さを示します。 次に、テキストが削除された行とその行番号を表示します。n).
パターンが入っているすべての行 から、そのパターンのすべてのインスタンスを削除するには、次のように入力します。g/rem/s///gl前の例では、ファイル全体を検索し (アドレス・パラメーターは省略されています)、以下を含むすべての行を探します。g) 以下のremcharacter string. すべてのインスタンスを削除します (///g) のremこれらの各行の文字ストリングを表示してから、テキストが削除された行を表示します。これには、それらの行の非印刷文字も含まれます。l).
- アドレス指定した行からテキストを削除するには
- 次のサブコマンドを入力します。
Addresss/Pattern注: 住所 パラメーターの後に S サブコマンドを指定します。ここで、 住所 パラメーターは、パターンを削除する行の行番号、行番号の範囲、またはシンボリック・アドレスであり、 パターン パラメーターは、削除するテキストを表す文字ストリングまたは 正規表現 です。 - 各行からパターンの最初のインスタンス を削除するには、
次のように入力します。
または//各行からパターンのすべてのインスタンス を削除するには、次のように入力します。//g - 削除した結果を表示したい場合は、次のいずれかのオプション・サブコマンドを入力します。
- Enter キーを押します。
- 次のサブコマンドを入力します。
- 指定したパターンを含む行からテキストを削除するには
- 次のサブコマンドを入力します。
ここで、 住所 は、指定されたパターンを含む行の行番号、行番号の範囲、または記号アドレスを指定するオプション・パラメーターです。 パターン パラメーターは、検索および削除するテキストを表す文字ストリングまたは 正規表現 です。 Address パラメーターを省略すると、ed エディターはパターンを探してファイル内のすべての行を検索します。[Address]g/Pattern/s - パターンが入っている各行から、
パターンの最初のインスタンス を削除するには、次のように入力します。
または///パターンが入っている各行から、パターンのすべてのインスタンス を削除するには、次のように入力します。///g - 削除した結果を表示したい場合は、次のいずれかのオプション・サブコマンドを入力します。
- Enter キーを押します。
- 次のサブコマンドを入力します。
- 指定した異なるパターンを含む行からパターンを削除するには
- 次のサブコマンドを入力します。
ここで、 Address は、指定されたパターンを含む行の行番号、行番号の範囲、または記号アドレスを指定するオプション・パラメーターです。 SearchPattern パラメーターは、変更する行のテキストを表す文字ストリングまたは 正規表現 です。 Address パラメーターを省略すると、ed エディターは指定したパターンを探してファイル内のすべての行を検索します。[Address]g/SearchPattern/s - 削除するテキストを指定するには、次のように入力します。
/DeletePattern/ - 各行からパターンの最初のインスタンス を削除するには、
次のように入力します。
または/各行からパターンのすべてのインスタンス を削除するには、次のように入力します。/g注: サブコマンド・ストリング全体は次のようになります。[Address]g/SearchPattern/s/DeletePattern//[g] - 削除した結果を表示したい場合は、次のいずれかのオプション・サブコマンドを入力します。
- Enter キーを押します。
例えば、指定したパターンが入っている行から、別のパターンの最初のインスタンスを削除するには、次のように入力します。1,.g/rem/s/tmp//l前の例では、最初の行から現在行 (1,.) (を含むすべての行についてg) 以下のremcharacter string. これは、以下の最初のインスタンスを削除します。tmpこれらの各行の文字ストリング (/) の後、テキストが削除された行を表示します。これには、それらの行の非印刷文字も含まれます。l).
- 次のサブコマンドを入力します。
- 指定された異なるパターンを含まない行からパターンを削除するには
- 次のサブコマンドを入力します。
ここで、 Address は、指定されたパターンを含む行の行番号、行番号の範囲、または記号アドレスを指定するオプション・パラメーターです。 SearchPattern パラメーターは、検索および変更する行に含まれていないテキストを表す文字ストリングまたは 正規表現 です。 Address パラメーターを省略すると、ed エディターは指定したパターンを探してファイル内のすべての行を検索します。[Address]v/SearchPattern/s - 削除するテキストを指定するには、次のように入力します。
/DeletePattern/ - パターンの最初のインスタンス を削除するには、
次のように入力します。
または/各行からパターンのすべてのインスタンス を削除するには、次のように入力します。
/g注: サブコマンド・ストリング全体は次のようになります。[Address]v/SearchPattern/s/DeletePattern//[g] - 削除した結果を表示したい場合は、次のいずれかのオプション・サブコマンドを入力します。
- Enter キーを押します。
例えば、指定したパターンが入っていない行から、別のパターンの最初のインスタンスを削除するには、次のように入力します。1,.v/rem/s/tmp//l前の例では、最初の行から現在行 (1,.) (を含まないすべての行についてv) 以下のremcharacter string. これは、以下の最初のインスタンスを削除します。tmpこれらの各行の文字ストリング (/) の後、テキストが削除された行を表示します。これには、それらの行の非印刷文字も含まれます。l).
- 次のサブコマンドを入力します。
- テキストの表示
項目 説明 (.,.)L L (list) サブコマンドは、アドレス指定された行をビジュアルに明確な形式で標準出力に書き込み、文字を書き込みます。\\\,\\a,\\b,\\f,\\r,\\tおよび\\v対応するエスケープ・シーケンスの中にあります。 l サブコマンドは、印刷可能でない文字を 3 桁の 8 進数として書き出し、文字の各バイトの先頭に ¥ (円記号) を付けます (最上位のバイトを先頭にします)。 l サブコマンドは長い行を折り返します。¥ (円記号) / (スラッシュ) 改行文字シーケンスを書き込むと、折り返し点を指定することができます。 折り返しは 72 桁目で発生します。 $ (ドル記号) は、各行の終わりを示します。 L サブコマンドは、 E、 「E」、 F、 Q、 Q、 R、 W、または ! を除くすべての ed エディター・サブコマンドに追加できます。 サブコマンドと同じです。 現在行番号は、最後に書き込まれた行のアドレスに設定されます。
(.,.)N n (number) サブコマンドは、アドレス指定した行を表示しますが、各行の前に行番号とタブ文字 (ブランク・スペースとして表示) が付きます。 n は、最後に表示された行を現在行に設定します。 N サブコマンドは、 E、 F、 R、または Wを除くすべての ed エディター・サブコマンドに追加できます。 例えば、 DN サブコマンドは現在行を削除し、新しい現在行と行番号を表示します。 (.,.)P p (print) サブコマンドは、アドレス指定した行を表示し、最後に表示した行を現在行に設定します。 P サブコマンドは、 E、 F、 R、または Wを除くすべての ed エディター・サブコマンドに追加できます。 例えば、 DP サブコマンドは現在行を削除し、新しい現在行を表示します。 (.)= アドレスを指定しない場合、= (等号) サブコマンドは現在行の行番号を表示します。 アドレス $ を前に付けると、= サブコマンドはバッファー内の最終行の番号を表示します。 = サブコマンドは現在行を変更せず、 G サブコマンドまたは V サブコマンドに追加することもできません。 指定したパターンが入っている行、または入っていない行を検索するときには、検索したい行番号の範囲を指定することができます。 ed エディター・ファイル内では、さまざまな方法で 1 行または行範囲を選択して表示できます。 上記のフォーマットを使用して、次の編集タスクを実行できます。
- アドレス指定した行または行範囲を表示する
- 次のサブコマンドを入力します。
この場合、Address パラメーターは、表示したい行の行番号または記号アドレスです。Addresspアドレス指定した行または行範囲が画面に表示されます。 行範囲が長すぎて画面に表示しきれない場合、ed エディターは、アドレス指定した先頭行から画面に入るだけの行数を表示します。
- アドレス指定した行または行範囲を非印刷文字を含めて表示する
- 次のサブコマンドを入力します。
この場合、Address パラメーターは、表示したい行の行番号または記号アドレスです。Addresslアドレス指定した行または行範囲が非印刷文字も含めて画面に表示されます。 行範囲が長すぎて画面に表示しきれない場合、ed エディターは、アドレス指定した先頭行から画面に入るだけの行数を表示します。
- アドレス指定した行または行範囲を、行番号を含めて表示する
- 次のサブコマンドを入力します。
この場合、Address パラメーターは、表示したい行の行番号または記号アドレスです。Addressnアドレス指定した行または行範囲が画面に表示されます。 各行の行番号が行ごとに表示されます。 行範囲が長すぎて画面に表示しきれない場合、ed エディターは、アドレス指定した先頭行から画面に入るだけの行数を表示します。
- 検索パターンが入っている行を表示する
- 次のサブコマンドを入力します。
ここで、 住所 パラメーターは行の範囲であり、 パターン パラメーターは検索対象の文字ストリングまたは 正規表現 です。Addressg/Pattern/p指定したパターンが入っている行または行範囲が、画面に表示されます。 行範囲が長すぎて画面に表示しきれない場合、ed エディターは、アドレス指定した先頭行から画面に入るだけの行数を表示します。
- 非印刷文字を含めて、検索パターンを含む行を表示するには
- 次のサブコマンドを入力します。
ここで、 住所 は行の範囲を指定するオプション・パラメーターで、 パターン パラメーターは検索する文字ストリングまたは 正規表現 です。 Address パラメーターを省略すると、ed エディターはファイル全体を検索します。[Address]g/Pattern/l指定したパターンが入っている行または行範囲が、画面に表示されます。 非印刷文字も画面に表示されます。 行範囲が長すぎて画面に表示しきれない場合、ed エディターは、アドレス指定した先頭行から画面に入るだけの行数を表示します。
- 検索パターンが入っている行を、行番号を含めて表示する
- 次のサブコマンドを入力します。
ここで、 住所 は行の範囲を指定するオプション・パラメーターで、 パターン パラメーターは検索する文字ストリングまたは 正規表現 です。 Address パラメーターを省略すると、ed エディターはファイル全体を検索します。[Address]g/Pattern/n指定したパターンが入っている行または行範囲が、画面に表示されます。 各行の行番号が行ごとに表示されます。 行範囲が長すぎて画面に表示しきれない場合、ed エディターは、アドレス指定した先頭行から画面に入るだけの行数を表示します。
- 検索パターンを含まない行を表示するには
- 次のサブコマンドを入力します。
ここで、 住所 は行の範囲を指定するオプション・パラメーターで、 パターン パラメーターは検索する文字ストリングまたは 正規表現 です。 Address パラメーターを省略すると、ed エディターはファイル全体を検索します。[Address]v/Pattern/p指定したパターンが入っていない行または行範囲が、画面に表示されます。 行範囲が長すぎて画面に表示しきれない場合、ed エディターは、アドレス指定した先頭行から画面に入るだけの行数を表示します。
- 検索パターンが入っていない行を、非印刷文字を含めて表示する
- 次のサブコマンドを入力します。
ここで、 住所 は行の範囲を指定するオプション・パラメーターで、 パターン パラメーターは検索する文字ストリングまたは 正規表現 です。 Address パラメーターを省略すると、ed エディターはファイル全体を検索します。[Address]v/Pattern/l指定したパターンが入っていない行または行範囲が、非印刷文字を含めて画面に表示されます。 行範囲が長すぎて画面に表示しきれない場合、ed エディターは、アドレス指定した先頭行から画面に入るだけの行数を表示します。
- 検索パターンが入っていない行を、行番号を含めて表示する
- 次のサブコマンドを入力します。
[Address]v/Pattern/nここで、 住所 は行の範囲を指定するオプション・パラメーターで、 パターン パラメーターは検索する文字ストリングまたは 正規表現 です。 Address パラメーターを省略すると、ed エディターはファイル全体を検索します。
指定したパターンが入っていない行または行範囲が、行番号と一緒に画面に表示されます。 行範囲が長すぎて画面に表示しきれない場合、ed エディターは、アドレス指定した先頭行から画面に入るだけの行数を表示します。
- 行の結合と分割
-
項目 説明 (.,.+1)J [L] [N] [P] j (join) サブコマンドは、連続する行の間にある改行文字を除去して各行を結合します。 アドレスを 1 つしか指定しないと、j サブコマンドは何も行いません。 結合された行を表示したい場合は、l (list)、 n (number)、または p (print) サブコマンドを入力します。 これらのサブコマンドはオプションです。
ed エディターを使用すると、いくつかの方法で行を結合または分割できます。 上記のフォーマットを使用して、次の編集タスクを実行できます。
- 現在の行と次の行を結合するには
- アドレス指定した行を結合する
- 現在の明細を分割するには
- 指定したパターンの後の現在行を分割するには、
次のサブコマンドを入力します。
この場合、Pattern パラメーターは、分割したい行の前にある文字列です。s/Pattern/Pattern\注: パターン パラメーターによって表される両方のストリングが完全に同じであることを確認してください。 - Enter キーを押します。
- 次のように円記号を入力します。
/ - 分割された行を表示するには、 次のいずれかのオプション・サブコマンドを入力します。
- Enter キーを押します。
- 指定したパターンの後の現在行を分割するには、
次のサブコマンドを入力します。
- アドレス指定された行を分割するには
- 指定したパターンの後のアドレス指定した行を分割するには、
次のサブコマンドを入力します。
この場合、Address パラメーターは分割したい行のアドレスで、Pattern パラメーターは分割したい行の前にある文字列です。Addresss/Pattern/Pattern\注: パターン パラメーターによって表される両方のストリングが完全に同じであることを確認してください。 - Enter キーを押します。
- 次のように円記号を入力します。
/ - 分割された行を表示するには、 次のいずれかのオプション・サブコマンドを入力します。
- Enter キーを押します。
- 指定したパターンの後のアドレス指定した行を分割するには、
次のサブコマンドを入力します。
- 一括変更
-
項目 説明 (1,$) g/ パターン / サブコマンドリスト [ l ] [ n ] [ p ] g (global) サブコマンドは、まず、Pattern パラメーターと一致するすべての行にマークを付けます。 パターンは、固定文字ストリングまたは 正規表現にすることができます。 次にこのサブコマンドはマークされた各行を現在行に設定して、SubcommandList パラメーターを実行します。 単一のサブコマンドまたは一連のサブコマンドの最初のサブコマンドは、g サブコマンドと同じ行に入力します。それに続くサブコマンドはそれぞれ別の行に入力します。 最終行を除いて、これらの行の末尾には ¥ (円記号) を付けてください。 SubcommandList パラメーターには、 a、 i、および c サブコマンドとそれらの入力を含めることができます。 SubcommandList パラメーターの最後のコマンドが、通常、以下のようになります。.(ピリオド) を使用して入力モードを終了すると,.(ピリオド) は省略できます。 SubcommandList パラメーターがない場合は現在行が表示されます。 SubcommandList パラメーターには、 g 、 G、 v、または V サブコマンドを含めることはできません。
変更した結果を表示したい場合は、l (list)、n (number)、または p (print) サブコマンドのいずれかを入力します。 これらのサブコマンドはオプションです。
注: g サブコマンドは v サブコマンドと似ています。このサブコマンドは、パターンの一致が含まれていないすべての行に対して SubcommandList パラメーターを実行します。(1, $)G/パターン/ [l] [n] [p] 対話型 G (Global) サブコマンドは、Pattern パラメーターに一致するすべての行にマークを付け、マークが付けられた最初の行を表示し、現在行をその行に設定して、サブコマンドを待ちます。 パターンは、固定文字ストリングまたは 正規表現にすることができます。 G サブコマンドは、 A、 I、 C、 G、 G、 V、および V 値 サブコマンドを受け入れません。 サブコマンドが終了すると、G サブコマンドはマークが付けられた次の行を表示して、同様に処理を続けます。 G サブコマンドは、改行文字を null のサブコマンドとして解釈します。 : & (コロン・アンパーサンド) を使用すると、 G サブコマンドは前のサブコマンドを再度実行します。 G サブコマンドを停止するには、Ctrl+C を押します。
変更した結果を表示したい場合は、l (list)、n (number)、または p (print) サブコマンドのいずれかを入力します。 これらのサブコマンドはオプションです。
(1,$) v/ パターン / サブコマンドリスト [ l ] [ n ] [ p ] v サブコマンドは、Pattern パラメーターに一致するものを含んでいないすべての行に対して、SubcommandList パラメーター内のサブコマンドを実行します。 パターンは、固定文字ストリングまたは 正規表現にすることができます。 変更した結果を表示したい場合は、l (list)、n (number)、または p (print) サブコマンドのいずれかを入力します。 これらのサブコマンドはオプションです。
V サブコマンドは、 A、 I、 C、 G、 G、および V 値 サブコマンドを受け入れません。
注: v サブコマンドは g サブコマンドを補完します。このサブコマンドは、パターンの一致を含むすべての行に対して SubcommandList パラメーターを実行します。(1,$) V/Pattern/ [l] [n] [p] V サブコマンドは、Pattern パラメーターに一致しないすべての行にマークを付け、マークを付けた最初の行を表示し、現在行をその行に設定して、サブコマンドを待ちます。 パターンは、固定文字ストリングまたは 正規表現にすることができます。 変更した結果を表示したい場合は、l (list)、n (number)、または p (print) サブコマンドのいずれかを入力します。 これらのサブコマンドはオプションです。
V 値 サブコマンドは、 A、 I、 C、 G、 G、および V サブコマンドを受け入れません。
注: V 値 サブコマンドは、パターンに一致する行にマークを付ける G サブコマンドを補完します。
- テキストのマーク付け
-
項目 説明 (.)KX [L] [N] [P] k (mark) サブコマンドは、アドレス指定した行に x パラメーターで指定した名前のマークを付けます。この名前は ASCII 文字の小文字でなければなりません。 アドレス 'x (マーク文字の前に引用符が 1 つ) は、この行にアドレス指定します。 k サブコマンドは、現在行を変更しません。 マークを付けたテキストを表示したい場合は、l (list)、 n (number)、p (print) サブコマンドのいずれかを入力します。 これらのサブコマンドはオプションです。
- 現在行にマークを付けるには
次のサブコマンドを入力します。
kLetter[l][n][p]ここで、 レター パラメーターは、マークを表す A から Z までの文字であり、 L、 N、および P は、マークされたテキストを表示するオプションのサブコマンドです。
- アドレス指定した行にマークを付ける
- テキストの移動
-
項目 説明 (.,.)分A [L] [N] [P] m (move) サブコマンドは、1 つ以上のアドレス指定した行の位置を変更します。 移動する最初の行は、A パラメーターでアドレス指定した行の後に置かれます。 A パラメーターが 0 であれば、アドレス指定した行または行範囲はファイルの先頭に移動します。 移動する行のアドレスを A パラメーターに指定することはできません。 m サブコマンドは、最後に移動した行を現在行に設定します。 削除した結果を表示したい場合は、l (list)、 n (number)、または p (print) サブコマンドのいずれかを入力します。 これらのサブコマンドはオプションです。
1 行または一連の行を移動すると、指定した行が元の位置から削除され、新しい位置に配置されます。 どの行を移動するかは、アドレスまたはパターンで選択することができます。 上記のフォーマットを使用して、次の編集タスクを実行できます。
- 現在行を移動するには
- アドレスで指定した行を移動する
- 指定したパターンを含む行を移動するには
- 次のサブコマンドを入力します。
この場合、Address は指定したパターンを含む行を探すために検索する行の範囲を指定するオプション・パラメーターで、 Pattern パラメーターは検索対象のテキスト、DestinationAddress は移動先となる行の前の行を表すオプション・パラメーターです。 L、 N、および P オプション・サブコマンドは、移動された行を表示します。[Address]g/Pattern/m[DestinationAddress][l][n][p]Address パラメーターを省略すると、 ed エディターはパターンが入っている行を探してファイル全体を検索します。 DestinationAddress パラメーターを省略すると、移動されたテキストは現在行の後ろに挿入されます。
- 指定したパターンが入っていない行を移動する
- 次のサブコマンドを入力します。
ここで、 Address は指定したパターンが入っていない行を検索する行範囲を指定するオプション・パラメーター、Pattern パラメーターはテキスト、DestinationAddress はテキストの移動先の前の行を表すオプション・パラメーターです。 L、 N、および P オプション・サブコマンドは、移動された行を表示します。[Address]v/Pattern/m[DestinationAddress][l][n][p]Address パラメーターを省略すると、ed エディターはパターンが入っていない行を探してファイル全体を検索します。 DestinationAddress パラメーターを省略すると、移動されたテキストは現在行の後ろに挿入されます。
- テキストの保存
-
項目 説明 (1,$)W ファイル w (write) サブコマンドは、アドレス指定した行をバッファーから File パラメーターで指定したファイルに移動します。 ファイルが存在しない場合、umask の設定で別のファイル作成モードが指定されていなければ、 w サブコマンドは許可コード 666 (全ユーザーに対する読み取り/書き込み許可) を指定してファイルを作成します。 w サブコマンドは、デフォルトのファイル名を変更しません (File パラメーターが ed エディターを始動した後に使用した最初のファイル名でない場合)。 ファイル名を入力しないと、w サブコマンドはデフォルトのファイル名を使用します。 w サブコマンドは、現在行を変更しません。
ed エディターは、バッファーからファイルを正常に書き込むと、 書き込んだ文字数を表示します。 ! を指定した場合W サブコマンドは、ファイル名の代わりに コマンド サブコマンドを使用して、 コマンド パラメーターで指定されたオペレーティング・システム・コマンドの出力を読み取ります。 w サブコマンドは、 デフォルトのファイル名として指定したオペレーティング・システム・コマンドの名前を保存しません。
注: 0 は W サブコマンドの正しいアドレスではないため、 エド コマンドで空のファイルを作成することはできません。ファイルへの変更は、いくつかの方法で保存することができます。 上記のフォーマットを使用して、次の操作を実行できます。
- ファイルを現在のファイルに保存するには
- 次のサブコマンドを入力します。
w現行ファイルが現在の名前で保存され、 ed エディターは書き込まれた文字数を表示します。
- ファイルの一部を現在のファイルに保存するには
- 次のサブコマンドを入力します。
この場合、Address パラメーターは、書き込まれる行または行範囲を指定します。 ed エディターは書き込まれた文字数を表示します。Addressw
- ファイルを別のファイルに保存する
- 次のサブコマンドを入力します。
この場合、File パラメーターは、書き込み先のファイルの名前です。w File現行ファイルは、File パラメーターで指定したファイルに保存されます。 ed エディターは書き込まれた文字数を表示します。
- ファイルの一部を別のファイルに保管するには
- 次のサブコマンドを入力します。
Addressw Fileこの場合、Address パラメーターは、書き込まれる行または行範囲を指定します。File パラメーターは、書き込み先となるファイルを指定します。
指定された行が File パラメーターで指定されたファイルに保存されます。 ed エディターは書き込まれた文字数を表示します。
- テキストの検索
-
現在行から正方向または逆方向に、テキストのパターンを検索することができます。 パターンは、文字ストリング、またはリテラル文字と特殊文字 ^ (曲折アクセント記号)、$(ドル記号) で構成される 正規表現 にすることができます。 (ピリオド)、[(左大括弧)、] (右大括弧)、* (アスタリスク)、\ (円記号)、% (パーセント記号)、および & キー。
ed エディターを使用すると、次のテキスト検索を実行できます。
- 前方検索
- 次のサブコマンドを入力します。
この場合、Pattern パラメーターは、検索対象となるテキストを指定する文字列または正規表現です。/Patternカーソルは、パターンで指定したテキストの先頭文字に移動します。
- 逆方向に検索するには
- 次のサブコマンドを入力します。
この場合、Pattern パラメーターは、検索対象となるテキストを指定する文字列または正規表現です。?Patternカーソルは、パターンで指定したテキストの先頭文字に移動します。
- 同じ方向で検索を繰り返すには
- 次のサブコマンドを入力します。
/カーソルは、最後の検索コマンド内のパターンで指定したテキストの最も近いインスタンスの先頭文字に移動します。
- 逆の方向で検索を繰り返すには
- 次のサブコマンドを入力します。
?カーソルは、最後の検索コマンド内のパターンで指定したテキストの最も近いインスタンスの先頭文字に移動します。
- テキストの置換
-
項目 説明 (.,.)秒/パターン/交換/ [L] [N] [P] (.,.)秒/パターン/交換/NG [L] [N] [P] s (substitute) サブコマンドは、アドレス指定した各行を検索して Pattern パラメーターと一致する文字列を探し、 その文字列を Replacement パラメーターに指定された値で置き換えます。 パターンは、固定文字ストリングまたは 正規表現にすることができます。 グローバル・サブコマンド (G) を使用しない場合、 S サブコマンドは、アドレス指定された各行の最初の一致ストリングのみを置き換えます。 g サブコマンドを指定すると、s サブコマンドはアドレス指定した各行で一致する文字列のすべてのオカレンスを置換します。 S サブコマンドは、パターンに一致するものが見つからない場合、エラー・メッセージを返します。?(疑問符)。 置換後のテキストを表示したい場合は、l (list)、n (number)、p (print) サブコマンドのいずれかを入力します。 これらのサブコマンドはオプションです。
注: スペースまたは改行文字以外の文字は、 パターン パラメーターと 交換 パラメーターを区切る (区切る) ことができます。 s サブコマンドは、最後に変更した行を現在行に設定します。Number パラメーター (整数) を指定すると、アドレス指定された各行において、その行上の文字列のうち最初に一致する番号が置換されます。
交換 パラメーターで使用される & (アンパーサンド) 文字は、 パターン パラメーターと同じ値になります。 例えば、サブコマンド s/are/ & n't/ はサブコマンド s/are/aren't/ と同じ効果を持ち、現在行の は、 を 存在しない に置き換えます。 ¥ & (円記号、アンパーサンド) は、 交換 パラメーター. 内の & 文字の特殊な意味を除去します。
サブパターンは、文字列 ¥ ( (円記号、左小括弧) と ¥) (円記号、右小括弧) で囲まれたパターンの部分で、 パターンは囲み文字がない場合と同じように機能します。 Replacement パラメーターでは、¥Number はサブパターンに一致する文字列を指します。 例えば、s/¥(t¥)¥(h¥)¥(e¥)/t¥1¥2ose サブコマンドは、 現在行にパターン the に一致するものがあれば、the を those に置換します。 サブパターンがネストされているか、連続してネストされているかにかかわらず、¥数値 は、区切り文字 (¥) (円記号、右括弧) の先頭から数えて、 数値 パラメーターによって指定されたオカレンスを参照します。
% (パーセント記号) 文字を、Replacement パラメーターとして単独で使用すると、s サブコマンドは直前の Replacement パラメーターを再使用します。 ただし、% が Replacement パラメーターの一部である場合、 または ¥ (円記号) が前に付いている場合は、特別な意味を持ちません。
改行文字を行に代入することによって、行を分割することができます。 Replacement パラメーター内。 ¥-Enter キー・シーケンスを押すと、改行文字 (非表示) が入力され、それ以降の文字列と共にカーソルが次の行に移動します。 G サブコマンドまたは V サブコマンド・リストの一部として改行文字を置換することはできません。
ed エディターを使用すると、いくつかの方法でテキストを置換することができます。 上記のフォーマットを使用して、次の編集タスクを実行できます。
- 現在行内のテキストを置換するには
- 次のサブコマンドを入力します。
この場合、OldString パラメーターは既存のテキストで、NewString パラメーターはそれと置換したいテキストです。s/OldString/NewString - 次のいずれかを入力します。現在行内で、OldString パラメーターの最初のインスタンスを NewString パラメーターに置換するには、次のように入力します。
現在行内で、OldPattern パラメーターのすべてのインスタンスを NewString パラメーターに置換するには、次のように入力します。//g - 変更後のテキストを表示するには、次のいずれかのオプション・サブコマンドを入力します。
- Enter キーを押します。
- 次のサブコマンドを入力します。
- アドレス指定した行または行グループ内のテキストを置換するには
- 次のサブコマンドを入力します。
この場合、Address パラメーターは、テキストを置換したい行または行範囲のアドレスです。OldPattern パラメーターは既存のテキストです。NewString パラメーターは、置換したいテキストです。Addresss/OldPattern/NewString - 次のいずれかを入力します。各行で、OldPattern パラメーターの最初のインスタンスを、NewString パラメーターに置換するには、次のように入力します。
各行で、OldPattern パラメーターのすべてのインスタンスを、NewString パラメーターに置換するには、以下のように入力します。/NewString/
各アドレス行で NumberOldPattern パラメーターの最初のインスタンスを NewString パラメーターに置換するには、次のように入力します。/NewString/g/NewString/Number - 変更後のテキストを表示するには、次のいずれかのオプション・サブコマンドを入力します。
- Enter キーを押します。
- 次のサブコマンドを入力します。
- そのパターンを含む行内の指定されたパターンを置換するには、以下のようにします。
- 次のサブコマンドを入力します。
この場合、Address パラメーターは、Pattern パラメーターで指定したパターンを検索したい行範囲のアドレスです。NewString パラメーターは、Pattern パラメーターの置換に使用したいテキストです。Addressg/Pattern/s//NewString - 次のいずれかを入力します。各行で、Pattern パラメーターの最初のインスタンスを、NewString パラメーターに置換するには、次のように入力します。
各行内で、Pattern パラメーターのすべてのインスタンスを、NewString パラメーターに置換するには、次のように入力します。//g - 変更後のテキストを表示するには、次のいずれかのオプション・サブコマンドを入力します。
- Enter キーを押します。
- 次のサブコマンドを入力します。
- 異なるパターンを含む行内でパターンを置換するには
- 次のサブコマンドを入力します。
この場合、Address パラメーターは、Pattern パラメーターで指定したパターンを検索したい行範囲のアドレスです。OldString パラメーターは、置換したいテキストです。NewString パラメーターは、OldString の代わりに用いるテキストです。Addressg/Pattern/s/OldString/NewString - 次のいずれかを入力します。Pattern パラメーターが入っている各行内で、OldString パラメーターの最初のインスタンスを、NewString パラメーターに置換するには、次のように入力します。
Pattern パラメーターを含む各行内で、OldString パラメーターのすべてのインスタンスを、NewString パラメーターに置換するには、次のように入力します。//g - 変更後のテキストを表示するには、次のいずれかのオプション・サブコマンドを入力します。
- Enter キーを押します。
- 次のサブコマンドを入力します。
- あるパターンが入っていない行内で、別のパターンを置換する
- 次のサブコマンドを入力します。
この場合、Address パラメーターは、Pattern パラメーターで指定したパターンを検索したい行範囲のアドレスです。OldString パラメーターは、置換したいテキストです。NewString パラメーターは、OldString の代わりに用いるテキストです。Addressv/Pattern/s/OldString/NewString - 次のいずれかを入力します。
Pattern パラメーターが入っていない各行内で、OldString パラメーターの最初のインスタンスを、NewString パラメーターに置換するには、次のように入力します。
Pattern パラメーターが入っていない各行内で、OldString パラメーターのすべてのインスタンスを、NewString パラメーターに置換するには、次のように入力します。//g - 変更後のテキストを表示するには、次のいずれかのオプション・サブコマンドを入力します。
- Enter キーを押します。
- 次のサブコマンドを入力します。
- テキスト変更の取り消し
ファイルの操作
ed エディター・サブコマンドを使用すると、ファイルを操作して次のタスクを実行できます。
- 現行ファイルに別のファイルを追加する
項目 説明 ($)R ファイル r (read) サブコマンドは、バッファー内のアドレス指定した行の後にファイルを読み込みます。 r サブコマンドは、バッファー内の前の内容は削除しません。 File パラメーターを指定しないと、デフォルトのファイルがあれば、 r サブコマンドはそれをバッファーに読み込みます。 r サブコマンドは、デフォルトのファイル名を変更しません。 アドレス 0 を指定すると、 r サブコマンドはファイルをバッファーの先頭へ読み込みます。 ファイルの読み取りが成功すると、 r サブコマンドはバッファーに読み込んだ文字数を表示して、最後に読み込んだ行を現在行に設定します。
もし! (感嘆符) は、 R サブコマンドの ファイル パラメーターを置き換えます。行の残りの部分は、出力が読み取られるオペレーティング・システム・シェル・コマンドと見なされます。 r サブコマンドは、 オペレーティング・システムのコマンド名をデフォルトのファイル名として保管しません。
- 現在行の後にファイルを挿入するには
- 次のサブコマンドを入力します。
この場合、File パラメーターは挿入されるファイルの名前です。r Fileed エディターは、File パラメーターで指定したファイルを、現行ファイル内の現在行の後に読み込み、現行ファイルに読み込んだ文字数を表示します。
- アドレスで指定した行の後にファイルを挿入する
次のサブコマンドを入力します。
Addressr Fileこの場合、Address パラメーターは、挿入先となる行の前の行を指定します。File パラメーターは、挿入されるファイルの名前です。
ed エディターは、File パラメーターで指定したファイルを、現行ファイル内の指定した行の後に読み込んで、現行ファイルに読み込んだ文字数を表示します。
- デフォルトのファイル名を変更する
項目 説明 F [ファイル] f (file name) サブコマンドは、デフォルトのファイル名 (格納された、最後に使用したファイルの名前) を、File パラメーターで指定した名前に変更します。 File パラメーターを指定しないと、 f サブコマンドは、デフォルト・ファイル名を表示します。 ( E サブコマンドは、デフォルトのファイル名を保管します。)
- ファイルの名前を表示する
- 次のサブコマンドを入力します。
fed エディターは、編集バッファー内のファイルの名前を表示します。
- ファイルに名前を付けるには
- 次のサブコマンドを入力します。
この場合、File パラメーターは、編集バッファー内のファイルの新しい名前です。f File編集バッファー内のファイルの名前が変更されます。
- 別のファイルの編集
項目 説明 E ファイル e (edit) サブコマンドは、最初にバッファーの内容をすべて削除し、現在行をバッファーの最終行に設定して、バッファーに読み込まれた文字数を表示します。 内容が保管されてからバッファーが変更された場合 ( W サブコマンドを使用)、ed エディターは以下を表示します。?(疑問符) を押してから、バッファーをクリアします。 E サブコマンドは、必要に応じて、後続の E、 R、または W サブコマンドによって使用されるデフォルトのファイル名として ファイル パラメーターを保管します。 (デフォルトのファイル名を変更するには、 F サブコマンドを使用します。)
いつ! (感嘆符) は ファイル パラメーターの代わりに使用されます。 E サブコマンドは、行の残りをオペレーティング・システムのシェル・コマンドとして使用し、コマンド出力を読み取ります。 e サブコマンドは、シェル・コマンドの名前をデフォルトのファイル名としては保管しません。
「E」 ファイル 「E」 (Edit) サブコマンドは、 E サブコマンドと同様に機能しますが、例外が 1 つあります。 「E」 サブコマンドは、最後の W サブコマンドの後でバッファーに加えられた変更を検査しません。 ファイルを再編集する前に行った変更はすべて失われます。 e または E サブコマンドを使用すると、次のタスクを実行できます。
- 現在のファイルを保存せずに再編集するには
- 次のサブコマンドを入力します。
Eed エディターは、ファイル内の文字数を表示します。 ファイルを再編集する前に行った変更はすべて失われます。
- 保存後に現在のファイルを再編集するには
- 次のサブコマンドを入力します。
eed エディターは、ファイル内の文字数を表示します。
- 現在のファイルが保存された後でファイルを編集するには
- 次のサブコマンドを入力します。
e Fileこの場合、File パラメーターは、 編集したい新規ファイルまたは既存のファイルの名前です。
既存のファイルの場合、ed エディターはファイル内の文字数を表示します。 新規ファイルの場合、ed エディターは以下を表示します。?(疑問符) とそのファイルの名前を表示します。
- 現在のファイルを保存せずにファイルを編集するには
- 次のサブコマンドを入力します。
この場合、File パラメーターは、 編集したい新規ファイルまたは既存のファイルの名前です。E File既存のファイルの場合、ed エディターはファイル内の文字数を表示します。 新規ファイルの場合、ed エディターは以下を表示します。?(疑問符) とそのファイルの名前を表示します。
ed エディター・サブコマンドのその他の機能
- プロンプト・ストリングの変更
項目 説明 P P (Prompt) サブコマンドは * (アスタリスク) で表される ed エディターのプロンプト文字列をオンまたはオフにします。 初期状態では、P サブコマンドはオフになっています。
- プロンプト文字列の表示を開始または停止する
- 次のサブコマンドを入力します。
Ped エディターのプロンプトである * (アスタリスク) が、 以前の設定に応じて表示されるか、または表示されなくなります。
- システム・コマンドの入力
項目 説明 ! Command ! サブコマンドを使用すると、ed エディターを終了せずにオペレーティング・システム・コマンドを実行できます。 ! の後に続くすべてのもの ed エディター・サブコマンド行のサブコマンドは、オペレーティング・システム・コマンドとして解釈されます。 そのコマンド文字列のテキスト内で、ed エディターは、エスケープされていない % (パーセント記号) がある場合、それを現行ファイル名と置き換えます。 前のオペレーティング・システム・コマンドを繰り返すには、次のように入力します。!(感嘆符) ! の後 ed エディター・サブコマンド。 オペレーティング・システムのコマンド・インタープリター ( Sh コマンド) がコマンド・ストリングを展開すると、ed エディターは展開された行をエコーします。 ! 表記を、 サブコマンドは現在行を変更しません。
! を使用できます。 サブコマンドを使用して、以下のアクションを実行します。
- 1 つのオペレーティング・システム・コマンドを実行するには
- 次のサブコマンドを入力します。
この場合、Command パラメーターは、 通常はプロンプトから入力されるオペレーティング・システム・コマンドを指定します。!Commandコマンドが実行され、その出力が表示されます。 コマンドが完了すると、エディターに ! が表示されます。 (感嘆符) を置きます。
- オペレーティング・システム・コマンドを繰り返すには
- 次のサブコマンドを入力します。
!前に実行されたオペレーティング・システム・コマンドが実行され、その出力が表示されます。 コマンドが完了すると、エディターに ! が表示されます。 (感嘆符) を置きます。
- 複数のオペレーティング・システム・コマンドを実行する
- 次のサブコマンドを入力して、オペレーティング・システムのプロンプトを表示させます。
!sh - オペレーティング・システム・コマンドを入力します。
- Enter を押してコマンドを実行し、その出力を表示します。
- ステップ 2 と 3 を繰り返して、オペレーティング・システム・コマンドの実行をさらに続けます。
- Ctrl+D を押して、コマンド・モードに戻ります。 エディターに ! が表示されます。 (感嘆符) を置きます。
- 次のサブコマンドを入力して、オペレーティング・システムのプロンプトを表示させます。
- ed エディターを終了しています
項目 説明 q q (quit) サブコマンドは、最後の変更内容が入力された後でバッファーがファイルに保存されたかどうかを検査してから、ed エディターを終了します。 バッファーがファイルに保管されていない場合、 Q サブコマンドは以下を表示します。?(疑問符) メッセージを表示します。 ed エディターを終了するには、q サブコマンドをもう一度入力します。 現行ファイルに書き込まれた変更内容は失われます。 Q Q (Quit) サブコマンドは、バッファーをファイルに保存した後で変更が行われたかどうか検査せずに、ed エディターを終了します。 最後に保存した後でバッファーに対して行われた変更はすべて失われます。
- 編集の確認後に終了するには
- 次のサブコマンドを入力します。
q - ed エディターが以下を表示するとします。?以下のいずれかのサブコマンドを入力します。終了する前に変更結果を保存するには、次のように入力し、
次に Enter を押します。w変更結果を保存せずに終了するには、次のように入力します。q - Enter キーを押します。
- 次のサブコマンドを入力します。
- 終了して編集を破棄するには
- 次のサブコマンドを入力します。
Q - Enter キーを押します。 最後に保存した後でバッファーに対して行われた変更はすべて失われます。
- 次のサブコマンドを入力します。
- ヘルプを要求する
項目 説明 h 時間 (ヘルプ) サブコマンドは、最新のヘルプ・メッセージを提供します。?(疑問符) 診断またはエラー・メッセージに関する簡単なヘルプ・メッセージを表示します。 h 時間 (ヘルプ) サブコマンドにより、ed エディターは後続のすべてのヘルプ・メッセージを表示します。 診断メッセージ。 時間 サブコマンドは、上記の? についても説明します。 もし存在していれば H サブコマンドは、このモードのオンとオフを交互に切り替えます。 初期状態ではオフになっています。
- ヘルプ・メッセージの表示を開始または停止するには
- 次のサブコマンドを入力します。
Hヘルプ・メッセージが表示されるかどうか。 前の設定に応じて、ed エディターからの応答。
- 前回のヘルプ・メッセージを表示する
- 次のサブコマンドを入力します。
h最後の? のヘルプ・メッセージが表示されます。 ed エディターからの応答。
ed エディターでの文字クラスのサポート
[character-character]最初の文字は、照合シーケンスの 2 番目の文字以下でなければなりません。 例えば、[a-c] は En_US ロケール内の文字、a、b、c のいずれとも一致します。
範囲式は、通常、文字クラスのマッチングを行うのに使用されます。 例えば、[0-9] はすべての数字を意味し、[a-z A-Z] はすべての文字を意味します。 範囲が現行ロケールの照合シーケンスに従って解釈される場合、このフォーマットを使うと予期しない結果を招くことがあります。
上記のフォーマットの代わりに、[ ] (大括弧) で囲んだ文字クラスの式を使用して、 文字のマッチングを行ってください。 システムは、このタイプの式を現行ロケールの定義に従って解釈します。 しかし、範囲式に文字クラス式は使用できません。
[:CharacterClass:]つまり、左大括弧、コロン、文字クラス名、もう 1 つのコロン、右大括弧の順になります。
すべてのロケールでサポートされる文字クラスは、次のとおりです。
| 項目 | 説明 |
|---|---|
| [:upper:] | 大文字 |
| [:lower:] | 小文字 |
| [:alpha:] | 大文字と小文字 |
| [:digit:] | 数字 |
| [:alnum:] | 英数字 |
| [:xdigit:] | 16 進数字 |
| [:punct:] | 句読文字 (制御文字でも英数字でもない) |
| [:space:] | スペース、タブ、復帰、改行、垂直タブ、用紙送りの各文字 |
| [:print:] | スペースを含む印刷可能文字 |
| [:graph:] | スペースを含まない印刷可能文字 |
| [:cntrl:] | 制御文字 |
| [:blank:] | スペースとタブ文字 |
大括弧は文字クラス定義の一部です。 大文字の ASCII 文字または ASCII 数字に一致させるには、次の正規表現を使います。
[[:upper:] [:digit:]]式を使用しない[A-Z0-9].
ロケールによっては上記のリスト以外の文字クラスをサポートすることがあります。
改行文字は、以下の一部です。[:space:]文字クラスですが, この文字クラスとは一致しません。 改行文字は、特殊検索文字 $ (ドル記号) と ^ (脱字記号) でのみ一致させることができます。
終了状況
ed コマンドおよび red コマンドは次の終了値を戻します。
| 項目 | 説明 |
|---|---|
| 0 | 正常終了。 |
| >0 | エラーが発生しました。 |