查找包含BOM头的文件,命令以下:测试
grep -r -I -l $'^\xEF\xBB\xBF' ./
这条命令会查找当前目录及子目录下全部包含BOM头的文件,并把文件名在屏幕上输出。
可是,删除BOM头,网上找到的命令大多不能用,比较常见的命令是:
grep -r -I -l $'^\xEF\xBB\xBF' /path | xargs sed -i 's/^\xEF\xBB\xBF//;q'
但这条命令会把除了首行以外全部的行删除,因此毫无心义。
经测试以下命令是可行的:
find . -type f -exec sed -i 's/\xEF\xBB\xBF//' {} \;
这个命令会把当前目录及全部子目录下的BOM头删除掉。