windows下编辑过的文件在Linux下用vi打开行尾会多出一个^M符号

用windows下编辑过的文件在Linux下用vi或vim打开行尾会多出一个^M符号,如下图:

 这是因为Windows等操作系统用的文本换行符和UNIX/Linux操作系统用的不同,Windows系统下输入的换行符在UNIX/Linux下不会显示为“换行”,

而是显示为 ^M 这个符号(这是Linux等系统下规定的特殊标记,占一个字符大小,不是 ^ 和 M 的组合,打印不出来的)。

可以使用下面几种方法处理:

1.使用vi的替换功能。启动vi,进入命令模式,输入以下命令:
:%s/^M$//g # 去掉行尾的^M。

:%s/^M//g # 去掉所有的^M。

:%s/^M/[ctrl-v]+[enter]/g # 将^M替换成回车。

:%s/^M//r/g # 将^M替换成回车。
注意:这里的“^M”要使用“CTRL-V CTRL-M”生成,而不是直接键入“^M”。
2.如果是xml文件,可以使用xmllint格式化xml文件,去掉^M:

xmllint --format test.xml > test.xml.1

参考博客:https://www.cnblogs.com/wanglinsheng/p/5876688.html 

posted @ 2018-01-08 11:04  yxy_linux  阅读(797)  评论(0编辑  收藏  举报