外部のソースコードを自分のプロジェクトに取り込む際にUTF-8 BOM追加と改行コードをCRLFで統一する必要があったので書いてみました。
nkf32.exe にパスが通っている cygwin 上で動作確認しています。
add-UTF8BOM-CRLF-to-h-cpp.sh
#!/bin/bash
if [ $# -ne 1 ]; then
echo "Adds UTF-8 BOM to *.h and *.cpp below the specified dir." 1>&2
echo "Usage: add-UTF8BOM-CRLF-to-h-cpp.sh [dir]" 1>&2
exit 1
fi
find $1 \( -name '*.h' -or -name '*.cpp' \) | while read -r d;
do nkf32 -w8OLw $d $d.hoge && mv -v $d.hoge $d;
done;
exit 0
逆にBOMを削除したい場合は nkfwin32 のコマンドラインオプションを以下のように"0"を追加します。
変更前:
-w8OLw
変更後:-w80OLw