至于BOM是什么,百科解释的很详细,BOM - 字节顺序标记(ByteOrderMark)
简单来说,BOM主要是为了解决Linux文件在Windows上乱码的问题
主要有以下几个场景:
- 在linux上生成一个csv文件,在excel中打开,乱码
- 在linux生成一个txt文件,在windows上用记事本打开,乱码
linux上是无视BOM的,在linux上生成的文件也是不带BOM,尽管不带BOM的utf-8才是标准,但是为了能在windows上打开文件不乱吗,我们就需要手动添加BOM头
用法:
# 在test.csv文件中添加BOM头 printf 'xEFxBBxBF' > test_new.csv cat test.csv >> test_new.csv