sedコマンドの出力について

スポンサーリンク

sedコマンドの出力はオプションがない場合、通常、標準出力に出力されます。

sedコマンドでファイルに対して、直接編集を行いたい場合はGNU拡張で-i(--in-place)オプションがあります。

以下のようなinputfileを作成してから

inputfile

-iオプションを利用すると

ファイルを直接編集することができます。

-iオプションを利用しない場合は、一度テンポラリファイルにsedコマンドの出力を保存し、ファイルを置き換えることでファイルを直接編集することと同じような結果を得られるでしょう。

スポンサーリンク

バックアップファイルを作成

sedコマンドで-iオプションのみでファイルを編集すると意図しない結果でもファイルを上書きしてしまう可能性があります。
そのような結果を防ぎたい場合は、-iオプションの引数としてファイルの接尾辞として文字列を渡すと、その接尾辞を追加したバックアップファイルが作成されます。

ロングオプションだと以下のように指定します。

-iオプションを利用しない場合は、編集したいファイルのコピーをしてバックアップファイルを作成すればよいでしょう。