文字列置換の使用

s コマンドは、 入力ファイルの指示された行で文字列置換を行います。

このコマンドは、入力ファイル内に正規表現 Pattern に適合する 1 組の文字セットを 検出すると、その文字のセットを String で指定された文字のセットで置換します。

String パラメーターは、リテラルの文字のセット (数字、文字、および シンボル) です。 String には 2 つの特殊なシンボルを使用することができます。

シンボル 使用
& String のこのシンボルは、Pattern に一致し た入力行内の文字のセットによって置換される。 例えば、コマンド
s/boy/&s/
は、sed に、入力行内のパターン boy を検出し、そのパターンに s を付けて出力にコピーするように指示します。 したがって、その入力行を次のように変更します。
変更前:
The boy look at the game. (男の子はゲームを見る。)
変更後:
The boys look at the game. (男の子達はゲームを見る。)
シンボル 使用
¥d d は単一の数字。 String のこのシンボルは、Pattern 内の d 番目のサブストリングに一致した、入力行内の文字のセットによって置換される。サブストリングは、¥ の文字で始まり (¥ の文字で終わり) ます。 例えば、コマンド
s/¥(stu¥)¥(dy¥)/¥1r¥2/
変更前:
The study chair (勉強いす)
変更後:
The sturdy chair (頑丈ないす)

フラグとして表示される文字は、置換を以下のように変更します。

シンボル 使用
g 指示された行の Pattern のすべてのインスタンスの 代わりに、String を使用する。 String 内の文字は、挿入後は Pattern と一致 させるためにスキャンされません。 例えば、コマンド
s/r/R/g

は次の変更を行います。

変更前:
the red round rock (赤く丸い石)
変更後:
the Red Round Rock (赤く丸い石)
p 正常に一致した Pattern の入った行を (STDOUT に) 出力する。
w FileName 正常に一致した Pattern の入った行を、FileName に書き出す。 FileName が存在すれば、 上書きされます。存在しなければ、作成されます。 編集処理全体で、最大 10 の異なるファイルを入出力ファイルとして列挙できます。 wFileName の間には正確に 1 つのスペースを入れます。