除去文件中显示的^M符号-创新互联

除去文件中显示的^M符号 背景

在windows下编辑的文件,在Linux下使用vim打开有时会出现^M符号。

创新互联公司是一家集网站建设,始兴企业网站建设,始兴品牌网站建设,网站定制,始兴网站建设报价,网络营销,网络优化,始兴网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。原理

本节内容参考[1]

vim被配置为fileformat=unix,而你打开的文件都是dos格式的。unix格式的换行符为0A(ascii码)也就是,dos格式的换行符为 0D 0A(也就是),其实就显示为^M。
回想计算机的史前史,那时的打字机使用两个字符来开始一个新行。首先是一个字符命令使打印头移回开始位置(回车,),然后另一个字符命令控制向前进纸一行(进纸,).
在计算机诞生之初,存储设备十分昂贵。于是有人就提出没有必要用两个字符来表示一行的结束:

  • UNIX一族决定只用进纸一个字符来表示行尾。
  • 来自苹果mac阵营的人则把回车作为换行的标准。
  • MS-DOS(和微软的Windows)仍然决定沿用古老的回车换行传统。

这也意味着如果把文件从一个系统移到另一个不同的系统,你就会遇到与换行相关的问题.

解决方法

今天无意中发现去除^M的好办法:

  • 指定文件名:sed -i "s/\s*$//g" filename
  • 当前目录下所有文件:sed -i "s/\s*$//g" `ls`

当前标题:除去文件中显示的^M符号-创新互联
本文路径:http://scyanting.com/article/cejdoe.html