Mac の sed で改行コードを変換


Mac は BSD sed なので、情報が少ないんですよね。

Windows(CRLF) → UNIX(LF) へ置換する

sed -i.bak 's/'$'\r//' filename

拡張子を指定して、まとめて置換したい場合はこちら

export LANG=C # Mac の BSD sed を使う場合のおまじない

find . -name '*.html' -or -name '*.css' -or -name '*.js' -print0 | xargs -0 sed -i.bak 's/'$'\r//'

GNU sed を使う

Linux と挙動が違ってて面倒!っていう人は、 GNU sed を入れてください

brew install gnu-sed

でも、さくらのレンタルサーバーなんかは FreeBSD なので、 BSD sed も覚えておいて損は無いと思いますよ