shell去除utf8文件bom头

1.去除utf8文件中bom头

把\xEF\xBB\xBF开头的字符替换为空

sed -i 's/^\xEF\xBB\xBF//g' 文件名

2.批量去除文件夹中utf8文件中的bom头

我们可以使用grep来查看哪些文件存在bom头,然后对这些文件执行替换。

grep -r -i -l $'^\xEF\xBB\xBF' 目录名 | xargs sed -i 's/^\xEF\xBB\xBF//g'
-r 在当前目录及其子目录下搜索
-i 忽略大小写的不同,所以大小写视为相同
-l 查询多文件时只输出包含匹配字符的文件名