linux下處理windows utf8文件,發現vim頭會多一個<feff>java
1. linux vim 中的<feff>linux
<feff>被稱做BOM(Byte Order Mark)的不可見字符,是Unicode用來標識內部編碼的排列方式的,在UTF-1六、UTF-32編碼裏它是必需的,而在UTF-8>裏是可選的vim
linux下刪除<feff>: grep -I -r -l $'\xEF\xBB\xBF' file | |xargs sed -i 's/\xEF\xBB\xBF//'windows
本身項目中批量刪除文件:編碼
#!/bin/sh filelist=$(ls) echo "all file" for file in $filelist do echo $file #if [ -d $file ] #then #tar -cf $file.tar $file grep -I -r -l $'\xEF\xBB\xBF' $file | xargs sed -i 's/\xEF\xBB\xBF//' #echo $file #fi done
2. linux vim 中的^Mspa
在Linux下使用vi來查看一些在Windows下建立的文本文件,有時會發如今行尾有一些「^M」
unix
去掉^Mcode
1> dos2unix file
class
2> sed -i "s=^M==g" filesed
3> vim打開時候用 :%s/^M//g