除去文件中显示的^M符号
除去文件中显示的^M符号
背景
在windows下编辑的文件,在Linux下使用vim打开有时会出现^M符号。
创新互联是一家专业提供平果企业网站建设,专注与网站制作、网站建设、HTML5、小程序制作等业务。10年已为平果众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
原理
本节内容参考[1]
vim被配置为fileformat=unix,而你打开的文件都是dos格式的。unix格式的换行符为0A(ascii码)也就是
回想计算机的史前史,那时的打字机使用两个字符来开始一个新行。首先是一个字符命令使打印头移回开始位置(回车,
在计算机诞生之初,存储设备十分昂贵。于是有人就提出没有必要用两个字符来表示一行的结束:
- UNIX一族决定只用进纸一个字符
来表示行尾。 - 来自苹果mac阵营的人则把回车
作为换行的标准。 - MS-DOS(和微软的Windows)仍然决定沿用古老的回车换行
传统。
这也意味着如果把文件从一个系统移到另一个不同的系统,你就会遇到与换行相关的问题.
解决方法
今天无意中发现去除^M的好办法:
- 指定文件名:
sed -i "s/\s*$//g" filename
- 当前目录下所有文件:
sed -i "s/\s*$//g" `ls`
文章标题:除去文件中显示的^M符号
转载来于:http://pwwzsj.com/article/gjjhdi.html