vi 打开文件,行末尾有^M

去除文本文件中的^M符号
本文介绍了解决跨平台文本文件格式不一致的问题,特别是如何去除从Windows复制到Linux环境下的文本文件中的^M符号。提供了两种有效的方法:一是使用vi编辑器的替换命令,二是设置文件格式为Unix格式。

 

原因:

  Windows下的文本文件的每一行结尾,都有一个回车符('\n')和一个换行符('\r')

  Linux下的文本文件的每一行结尾,只有一个回车符('\n')

  Mac下的文本文件的每一行结尾,只有一个一个换行符('\r')

  所以在 Linux 下打开Windows 编辑过的文件,就会在行末尾显示^M

  这个 ^M 在 Linux vi 下 是 ctrl + v  ctrl + m

 

解决方法:

  

  字符串替换

  vi 命令行输入 : %s/^M//g

  回车即可替换 。

  % 指匹配整个文件,s 是置换的意思,^M 注意用 ctrl + v  ctrl + m 来输入,$ 表示匹配行尾的内容,g 表示每行中匹配到的内容都要置换。

  

效果:

  

 

方法二:

  :set fileformat=unix
  :w

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值