Mac OSXのsedで"sed: RE error: illegal byte sequence"

Mac OSXでsedを使って置換しようとしたら変なエラーが出ました。
$  sed -i -e 's/foo/bar/' file.html
sed: RE error: illegal byte sequence
環境変数 "LC_ALL=C" をセットしてあげたらちゃんと動きました。
$ LC_ALL=C sed -i -e 's/foo/bar/' file.html
ちなみに、Linuxの場合は"LC_ALL=C"とかしなくてもちゃんと動きます。

OSXとLinuxでsedの仕様がだいぶ違うみたいですね。
OSXでもGNU sedを使ったほうがよさそうです。
Homebrew を使って OSX に GNU sed を入れる
カテゴリ: