vim 特殊字符的处理

linux下处理windows utf8文件,发现vim头会多一个<feff>

1. linux  vim 中的<feff>

    <feff>被称作BOM(Byte Order Mark)的不可见字符,是Unicode用来标识内部编码的排列方式的,在UTF-16、UTF-32编码里它是必需的,而在UTF-8>里是可选的

      linux下删除<feff>:  grep -I -r -l $'\xEF\xBB\xBF'  file || xargs sed  -i  's/\xEF\xBB\xBF//'

2.  linux  vim 中的^M

  在Linux下使用vi来查看一些在Windows下创建的文本文件,有时会发现在行尾有一些“^M”

  去掉^M

     1> dos2unix file

     2> sed -i "s=^M==g" file  或者  sed -i "s/\r//"

     3> vim打开时候用 :%s/^M//g  
     4> vi filename打开文件,执行 : set ff=unix 设置文件为unix,然后执行:wq,

3. linux vim 中的<200b>

200b是:Unicode Character 'ZERO WIDTH SPACE' (U+200B)

参见:
http://www.fileformat.info/info/unicode/char/200B/index.htm

处理方法见:
http://superuser.com/questions/207207/how-can-i-delete-u200b-zero-width-space-using-sed

sed 's/\xe2\x80\x8b//g' inputfile
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值