Macで再起的にファイルを検索してBOMを取り除く


BOMの入ったHTMLファイルがたくさんコミットされていて、ページが崩れていたので一気に置換しようと思ったが、なかなかうまくできなかったのでメモ残しときます。

find . -type f -print0 | xargs -0 awk '/^\xEF\xBB\xBF/ {print FILENAME} {nextfile}' | xargs perl -pi -e 's/^\xEF\xBB\xBF//g'

sedで同じファイルで上書きするのがなかなかできなくてこの辺を参考にperlを使いました。

StackOverFlowでよく見かける下記はうまく動かなかった。理由は詰めていないがMacだからかな?

find . -type f -exec sed '1s/^\xEF\xBB\xBF//' -i.bak {} \; -exec rm {}.bak \;