首页 > 上网技巧 > 电脑小技巧 > vim打开文件出现很多^M字符怎么批量替换掉

vim打开文件出现很多^M字符怎么批量替换掉

时间:2018-04-14 09:48 作者:QQ地带 我要评论

网上很多代码,但是都出错了。

vi -b 文件名

然后

删除行尾的^M

按住shfit加冒号,然后输入%s/\r//g

基于 DOS/Windows 的文本文件在每一行末尾有一个 CR(回车)和 LF(换行),而 UNIX 文本只有一个换行,即win每行结尾为\r\n,而linux只有一个\n

如果win下的文档上传到linux,每行的结尾都会出现一个^M,(^M是ctrl+v,ctrl+m) 

如果是单个文档的话,可以用vi打开,执行 :%s/^M//g 来去掉^M,

但如里批量去除的话就不能用vi了,

 

方法1: 用dos2unix工具,

把win文档转换成linux下文档

命令:

find ./ -type f -print0 | xargs -0 dos2unix

 

如果想把linux下的文档转换成win下的:

find ./ -type f -print0 | xargs -0 unix2dos

 

方法2: 用sed命令

把win文档转换成linux下文档:

find ./ -type f print0 | xargs -0 sed -i 's/^M$//'

 

把linux下的文档转换成win下的

fild ./ -type f print0 | xargs -0 sed -i 's/$/^M/'

 


标签: VIM
顶一下
(0)
0%
踩一下
(0)
0%

Google提供的广告