sedコマンドへの入力について

スポンサーリンク

sedコマンドは1個以上の入力ファイルを指定できます。
sedコマンドに入力ファイルがないもしくは-(ハイフン)の場合は、標準入力に対して、sedコマンドのスクリプトを実行します。

例えば、以下のinputfile1を想定します。

inputfile1

このファイルに対して、以下のコマンドを実行すると

のように出力されます。

標準入力を用いるとしたら以下のそれぞれのコマンドは等価なコマンドになります。

スポンサーリンク

複数のファイルを入力

複数のファイルを入力するとsedコマンドはそれらのファイルを1つのストリームとして扱います。
inputfile2を以下のように想定し、

inputfile2

inputfile1とinputfile2に対して、以下のコマンドを実行すると

のように1回だけ文字列が挿入されます。

行指定をそれぞれのファイルに対して行いたい場合は、それぞれのファイルに対してsedを実行するか、GNU拡張の-s(--separete)オプションを利用します。

スクリプトファイルを入力

-fオプションを用いるとsedのスクリプトを記述したファイルを読み込むことができます。
sedコマンドの処理が決まっている場合はこのオプションを利用して読み込んでも良いでしょう。
例えば、script.sedを作成し、

script.sed

script.sedを利用してsedコマンドを実行すると以下のようになります。