ホームページ  >  記事  >  バックエンド開発  >  UTF-8 ファイル内のバイト オーダー マーク (BOM) を検索して削除する方法

UTF-8 ファイル内のバイト オーダー マーク (BOM) を検索して削除する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-04 10:29:02539ブラウズ

How to Find and Remove Byte Order Marks (BOM) in UTF-8 Files?

独創的なアプローチ: UTF-8 ファイル内の BOM を見つける

バイト オーダーで装飾された UTF-8 ファイルをディレクトリ内で探す必要性マーク (BOM) はデバッグ目的で発生します。シェル スクリプトは簡単な解決策を提供しますが、読みにくいワンライナーやファイル名の改行の敏感さなどの不完全さに苦戦する可能性があります。

洗練されたソリューション

さらなる解決策を模索洗練されたアプローチとして、次の簡潔なコマンドを検討してください。

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

このコマンドは、「find」ユーティリティを利用して、指定されたディレクトリを走査します。次に、タイプ「f」のファイル (通常のファイル) がフィルタリングされます。条件を満たすファイルごとに、「sed」エディタが呼び出され、最初の行で置換が実行されます。文字列 ^xEFxBBxBF は、行の始まりを示す制御シーケンスで始まり、BOM を構成する 3 つの文字 (EF BB BF) に一致します。これを空の文字列に置き換えることで、BOM は事実上消去されます。

注意事項

この操作は破壊的であることをユーザーに警告します。これらの文字を含むバイナリ ファイルは変更されます。意図しない変更を防ぐには、代わりに次のコマンドを使用します。

grep -rl $'\xEF\xBB\xBF' .

この修正されたコマンドは、'grep のパターン マッチングの使命に忠実です。害を与えることなく、BOM を含むファイルを識別する機能は維持されます。

以上がUTF-8 ファイル内のバイト オーダー マーク (BOM) を検索して削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。