Bagaimana untuk Cari dan Keluarkan Tanda Pesanan Byte (BOM) dalam Fail UTF-8?

Mary-Kate Olsen
Lepaskan: 2024-11-04 10:29:02
asal
476 orang telah melayarinya

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

Pendekatan Bijak: Mencari BOM dalam Fail UTF-8

Keperluan untuk meninjau direktori untuk fail UTF-8 yang dihiasi dengan Pesanan Byte Tanda (BOM) timbul untuk tujuan penyahpepijatan. Walaupun skrip shell menawarkan penyelesaian yang mudah, ia mungkin bergelut dengan ketidaksempurnaan seperti satu baris yang tidak boleh dibaca atau kepekaan terhadap pemisah baris dalam nama fail.

Penyelesaian Yang Ditapis

Mencari lebih banyak pendekatan elegan, pertimbangkan arahan ringkas ini:

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

Arahan ini memanfaatkan utiliti 'cari' untuk melintasi direktori yang ditentukan. Fail jenis 'f' (fail biasa) kemudiannya ditapis. Untuk setiap fail yang layak, editor 'sed' dipanggil, melaksanakan penggantian pada baris pertama. Rentetan ^xEFxBBxBF bermula dengan jujukan kawalan yang menandakan permulaan baris dan sepadan dengan tiga aksara yang membentuk BOM: EF BB BF. Dengan menggantikan ini dengan rentetan kosong, BOM dipadamkan dengan berkesan.

Nota Berjaga-jaga

Pengguna diberi amaran bahawa operasi ini merosakkan. Fail binari yang mengandungi aksara ini akan diubah suai. Untuk melindungi daripada perubahan yang tidak diingini, gunakan arahan ini sebaliknya:

grep -rl $'\xEF\xBB\xBF' .
Salin selepas log masuk

Perintah yang dipinda ini kekal setia kepada misi 'grep padanan corak. Ia mengekalkan keupayaan untuk mengenal pasti fail yang mengandungi BOM tanpa mendatangkan bahaya.

Atas ialah kandungan terperinci Bagaimana untuk Cari dan Keluarkan Tanda Pesanan Byte (BOM) dalam Fail UTF-8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!