Mencari Fail UTF-8 dengan BOM dengan Cara Elegan
Mencari fail dengan BOM (Byte Order Mark) dalam pengekodan UTF-8 mungkin diperlukan untuk tujuan penyahpepijatan. Pendekatan biasa melibatkan penggunaan skrip shell atau arahan seperti 'cari' dan 'sed'. Tetapi adakah cara yang lebih mudah dan lebih elegan untuk mencapai perkara ini?
Satu perintah ringkas yang kedua-duanya mencari dan mengalih keluar BOM menampilkan dirinya sebagai pilihan yang menarik:
find . -type f -exec sed '1s/^\xEF\xBB\xBF//' -i {} \;
Arahan ini memanfaatkan 'cari ' utiliti untuk mengenal pasti semua fail dalam direktori tertentu, tidak termasuk fail binari. Ia kemudian menggunakan 'sed' untuk menggantikan urutan aksara BOM dengan rentetan kosong dalam baris pertama setiap fail yang disasarkan, dengan berkesan mengalih keluarnya.
Perhatikan bahawa arahan ini mengubah suai kandungan fail, jadi berhati-hati semasa berurusan dengan fail binari adalah penting.
Sebagai alternatif, jika anda hanya ingin menyenaraikan fail yang mengandungi BOM tanpa mengubah suainya, anda boleh menggunakan:
grep -rl $'\xEF\xBB\xBF' .
Arahan ini menggunakan 'grep' untuk mencari secara rekursif untuk fail yang mengandungi jujukan BOM dan memaparkan senarainya.
Semasa menggunakan editor teks atau makro untuk tugasan ini adalah mungkin, kesederhanaan dan kecekapan arahan di atas menjadikannya pilihan yang lebih baik.
Atas ialah kandungan terperinci Bagaimana untuk Mencari dan Mengalih Keluar Fail UTF-8 dengan BOM dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!