您的位置:首页 > 运维架构 > Linux

删除windows换行符^M

2011-09-07 15:38 225 查看
有些内容从windows下拷贝到unix下后,发现文本文件中多了^M(在vim中查看),那么如何删除这个字符呢。

在网上找了下答案,有好几种方法,但是我试了下,只有一种是成功的,那就是”tr -d "\015" <myfile.txt > myfile_new.txt“,而且其中的“<>"是不能少的。

还有一种就是:dos2unix test.txt

注意:语句中的^M是通过ctrl+V, ctrl+M输入的。特指/r字符

======================================================================================

From: http://hi.baidu.com/fairysky/blog/item/a79eb73ed504b8fd828b131b.html
附加参考:用vim编辑文件时,去掉其中的^M


Dos/Windows 里,文本文件的换行符为 \r\n
,而在*nix系统里则为\n,所以
DOS/Windows 里编辑过的文本文件到了
*nix 里,每一行都多了个 ^M 。删掉该字符可以在
VI 里用下面的方法试试

1、 :% s/\r//g
2、 :% s/^M//g
注意 ^M 的输入用 Ctrl+v,再按回车,或者是
Ctrl+v, Ctrl+m。
ps:我的情况是,从网络上下载的某些源代码,如java的代码,用vim打开,就会出现许多的
^M ,用上文介绍的 方法1“ :%s/\r//g
”可以去掉这些 ^M 符号,
第2种方法貌似在
windows 上不好使(在
windows 上 ctrl+v 是“粘贴”命令,ctrl+m
在命令行上是换行命令),在 vim 中不能输入“
^M ” 符号,所以该方法失效,估计该方法是用于 Linux 或者
Unix 系统的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux unix windows dos vim