- Published on
sed: command i expects \ followed by textの対処方法・sedでファイルの中身を変更するやり方
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の次は拡張子を引数として与えないといけません。ファイルを作る場合は、ここに適当な拡張子を入れてあげれば新しいファイルが出来上がります。
ファイルを新規に作らずに上書きする場合は、拡張子のところを空白""
文字にしてあげると、
ファイルを上書きすることが可能です。