最近在测试中发现,linux系统中导出的文件,有记事本打开另存为或者保存后,再次导入进linux系统,发现失败了,对比文件内容,没发现区别,打开二进制文件对比发现,文件头部多了三个字符:EF BB BF。linux
经过网络查找答案知,windows记事本等采用utf8 BOM格式,而Linux下采用UTF-8无BOM格式,上述三个字符即BOM。windows
去掉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 > OUTFILEspa
3.# tail --bytes=+4 INFILE > OUTFILE ##没有判断标示blog