晴耕雨読

working in the fields on fine days and reading books on rainy days

sedでDOM付きUTF-8からDOMを削除する

LinuxのBashでファイルからUTF-8のDOM情報を削除する方法について説明します。 テキストファイルからUTF-8のDOM情報を削除するには、sedコマンドを使用します。

sed -i '1s/^\xEF\xBB\xBF//' ファイル名


UTF-8のDOM情報を削除する

複数のファイルからまとめてUTF-8のDOM情報を削除するには、以下のシェルスクリプトを実行します。

for filename in *.txt; do
  sed -i '1s/^\xEF\xBB\xBF//' "$filename"
done

sed でマッチした場合のみ置換されます。そのため、DOMが付いていないテキストファイルは、そのまま変わりません。

以上です。