GNU/Linux >> Linux の 問題 >  >> Linux

Utf-8ファイルからBOMを削除する方法は?

BOMを使用したUTF-8エンコーディングのファイルがあり、BOMを削除したいと思います。ファイルからBOMを削除するためのLinuxコマンドラインツールはありますか?

$ file test.xml
test.xml:  XML 1.0 document, UTF-8 Unicode (with BOM) text, with very long lines

承認された回答:

ファイルにUTF-8BOMが含まれているかどうかわからない場合は、これ(sedのGNU実装を想定) )BOMが存在する場合は削除し、存在しない場合は変更を加えません。

sed '1s/^xEFxBBxBF//' < orig.txt > new.txt

既存のファイルを-iで上書きすることもできます オプション:

sed -i '1s/^xEFxBBxBF//' orig.txt

BSDバージョンのsedを使用している場合 (例:macOS)次に、bashにエスケープを実行させる必要があります:

 sed $'1s/xefxbbxbf//' < orig.txt > new.txt

Linux
  1. フォルダから最も古いファイルを削除するためのBashスクリプト?

  2. UbuntuでPDFファイルからパスワードを削除する方法

  3. ファイル全体を読み取らずに、大きなファイルの末尾から X バイトを削除する方法は?

  1. SSLキーからパスワードを削除する方法

  2. sed を使用してファイルの最後の n 行を削除する方法

  3. install -c は cp とどう違うのですか

  1. テキスト ファイルから改行を削除するにはどうすればよいですか?

  2. ファイル B に表示される行を別のファイル A から削除するには?

  3. BashでファイルにUTF-8 BOMがあるかどうかを検出する方法は?