vi中换行符的替换问题

最近在公司用shell处理一些数据,发现vi的也能做一些简单的脚本的工作,常见的就是替换了。

很多时候需要对换行符进行处理,无论是把某个符号换成换行符也好,还是把换行符换成其他符号。

这里面就有个方向的问题了,而vi中两个方向的换行符是不一样的。


如果把a换成换行符:

%s/a/^M/g
其中^M这个需要先Ctrl+v 再按回车得到。

而如果把换行符都换成a,则不是这个符号:

%s/\n/a/g

常见的反义符号。

也就是说最后如果想换行,用的是先Ctrl+v 再按回车得到的特殊符号。

那这个符号这怎么来的呢?通过查阅资料:

Windows files has line feed and carriage return. When such files are copied to *nix like OS, vim / vi shows ^M characters at the end of each line. 

也就是说这是windows文件到linux环境下填上的,所以只要去掉就可以了,去掉也用的是类似上面的代码。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值