Published on

sed: command i expects \ followed by textの対処方法・sedでファイルの中身を変更するやり方

Authors
  • avatar
    Name
    ssu
    Twitter

sedでファイルの中身を変更するやり方を紹介します。 macで、sed -i "s/patter/replacement/" example.txt とやっても

下記のようにエラーが出てしまいます。 他のUnix系のコマンドなら上記で、いけるのですがMacだと少しコマンドを変えないといけません。

sed: 1: "example": command i expects \ followed by text

これを回避して、sedを使い中身を変更するには、下記のようにするとできます。

sed -i "" "s/patter/replacement/" example.txt

sedでは-iの次は拡張子を引数として与えないといけません。ファイルを作る場合は、ここに適当な拡張子を入れてあげれば新しいファイルが出来上がります。

ファイルを新規に作らずに上書きする場合は、拡張子のところを空白""文字にしてあげると、 ファイルを上書きすることが可能です。