如何查找并删除 UTF-8 文件中的字节顺序标记 (BOM)?

Mary-Kate Olsen
发布: 2024-11-04 10:29:02
原创
535 人浏览过

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

巧妙的方法:在 UTF-8 文件中定位 BOM

在目录中搜索带有字节顺序的 UTF-8 文件的必要性标记 (BOM) 的出现是为了调试目的。虽然 shell 脚本提供了一种简单的解决方案,但它们可能会遇到一些缺陷,例如不可读的单行或对文件名中的换行符敏感。

精致的解决方案

寻求更多优雅的方法,考虑这个简洁的命令:

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

此命令利用“查找”实用程序来遍历指定的目录。然后过滤“f”类型的文件(常规文件)。对于每个合格的文件,都会调用“sed”编辑器,在第一行执行替换。字符串 ^xEFxBBxBF 以表示行开始的控制序列开始,并匹配构成 BOM 的三个字符:EF BB BF。通过将其替换为空字符串,可以有效地删除 BOM。

注意事项

请用户注意此操作具有破坏性。包含这些字符的二进制文件将被修改。为了防止意外更改,请改用此命令:

grep -rl $'\xEF\xBB\xBF' .
登录后复制

此修改后的命令仍然忠实于 'grep 的模式匹配使命。它保留了识别包含 BOM 的文件而不造成损害的能力。

以上是如何查找并删除 UTF-8 文件中的字节顺序标记 (BOM)?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板