Linux 替换^M字符方法

  最近遇到一个通过windows上传文本数据到linux服务器,但是读取数据文件时,因为每行数据后面出现^M字符,导致通过程序读取数据失败,希望把^M字符替换成换行字符,所以对这一块仔细研究了下。网上的方法很多,也很杂,有很多网友都说通过dos2unix就可以搞定,其实在有些情况下,这个命令是行不通的,具体原因待会再说,下面讲述一个通过linux命令处理的通用方法(为什么强调linux命令?因为待会我会给出一个通过程序处理的方法):

$ sed -i 's/^M/\n/g' myfile.txt
//注意:这里的“^M”要使用“CTRL-V CTRL-M”生成,而不是直接键入“^M”

  强调一下,命令中的^M不是直接输入^和M哈,是在linux中敲“CTRL-V CTRL-M”生成的,这个需要注意,因为在linux下^M其实是一个字符,你如果直接敲^和M,那就是2个字符了,然后意义也完全不一样。
  可能你会问,我可以通过dos2unix命令搞定啊:

$ dos2unix myfile.txt

  是的,这种方式的确可以解决大部分问

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值