【改】utf-8 的去掉BOM的方法

最近在测试中发现,linux系统中导出的文件,有记事本打开另存为或者保存后,再次导入进linux系统,发现失败了,对比文件内容,没发现区别,打开二进制文件对比发现,文件头部多了三个字符:EF BB BF。

通过网络查找答案知,windows记事本等采用utf8 BOM格式,而Linux下采用UTF-8无BOM格式,上述三个字符即BOM。

去掉BOM方法:

1. # cat INFILE | sed 's/\xef\xbb\xbf//g' > OUTFILE    ;     sed -i 's/^\xEF\xBB\xBF//g' test.txt  //直接修改

2. # awk '{if(NR==1)sub(/^\xef\xbb\xbf/,"");print}' INFILE > OUTFILE

3.# tail --bytes=+4 INFILE > OUTFILE  ##没有判断标示

posted @ 2019-06-03 20:05  菜鸟升级  阅读(2036)  评论(0编辑  收藏  举报