Windows 下的文本到Linux下,用vi打开时,文本的很多地方出现 ^M ,经过一段时间的查询搜索发现了原因及解决办法:
DOS/Windows和Linux/Unix的文件换行回车格式不同,基于 DOS/Windows 的文本文件在每一行末尾有一个 CR(回车)和 LF(换行),而 UNIX 文本只有一个换行。
1.使用命令:cat filename1 | tr -d “^M” > newfile; 2.使用命令:sed -e “s/^M//” filename > outputfilename。需要注意的是在1、2两种方法中,^M 指的是Ctrl+V和Ctrl+M。你必须要手工进行输入,而不是粘贴。 3.在vi中处理:首先使用vi打开文件,然后按ESC键,接着输入命令:%s/^M//