Sky

sky ray clouds park inokashira
by Blue Lotus

開発ブログ

UTF-8 ドキュメントの BOM を削除する

はてなブックマーク del.icio.usブックマーク UTF-8 ドキュメントの BOM を削除するをYahoo!ブックマークに追加

先日 UTF-8 で記述したシェルスクリプトが実行できないということがありました。BOM が付いていたことが原因だったのですが、その削除に関するメモを残しておきます。

BOM の確認は UTF-8 の場合、先頭 3 バイトの 0xEF 0xBB 0xBF を確認します。

$ od -t x1 hoge.xml
0000000 ef bb bf 3c 78 6d 6c 20 76 65 72 73 69 6f 6e 3d
...

VIM の場合は、

:set nobomb
:w
にて、BOM を消して保存します。

perl の場合は、

$ perl -0 -i.bak -pne 's/^\xEF\xBB\xBF//' hoge.xml
となります。-0 はレコードセパレータ $/ を 8 進数で指定しますが、指定しない場合はファイル全体を読み込みます。

BOM 付きと既に分かっている場合 tail を

$ L=`cat hoge.xml | wc -c` && tail -c `expr $L - 3` hoge.xml > hoge_new.xml
のように使う方法もあります。

森田


.

トラックバック

このエントリーのトラックバックURL:
http://www.sbirobo.com/mt/mt-tb.cgi/588

コメントを投稿

銘柄検索  松本徹三  SBI Business  ソーシャルグラフ  ビジネスSNS