从文件中删除多个BOM

Mac*_*bey 12 unicode byte-order-mark

我使用的是一个Javascript文件,它是其他JavaScript文件的串联.

不幸的是,将这些JavaScript文件连接在一起的人在读取文件时没有使用正确的编码,并允许将每个JavaScript文件的BOM写入连接的JavaScript文件.

有没有人知道搜索连接文件并删除任何/所有BOM标记的简单方法?

对Mac OSX使用PHP或bash脚本会很棒.

mar*_*rio 17

另请参阅:使用awk删除字节顺序标记

要从文本文件中的任何位置删除多个BOM,您可以尝试类似的操作.离开^锚点:

perl -e 's/\xef\xbb\xbf//;' -pi~ file.js
Run Code Online (Sandbox Code Playgroud)

(这会就地编辑文件.但会创建备份file.js~.)


Pål*_*erg 16

我通常使用以下方法vim:

vim -c "set nobomb" -c wq! myfile
Run Code Online (Sandbox Code Playgroud)