zoukankan      html  css  js  c++  java
  • linux下使用vim替换文件中的^M换行符

    在linux下打开windows编辑过的文本,会出现由于换行符不一致而导致的内容格式错乱的问题。最常见的就是出现^M 。

    我出现的问题是:在windows编辑过的文件,传到linux上后再用vim打开,内容没有换行。也就是所有文件内容都在一行。然后再实际换行的位置多了个^M。

    下面的方法是网上搜的。其中dos2unix还有一个相对应的unix2dos

    1.使用dos2unix命令。一般的分发版本中都带有这个小工具(如果没有可以根据下面的连接去下载),使用起来很方便:
    $ dos2unix myfile.txt
    上面的命令会去掉行尾的^M。
     
    2.使用vi的替换功能。启动vi,进入命令模式,输入以下命令:
    :%s/^M$//g # 去掉行尾的^M。
    :%s/^M//g # 去掉所有的^M。
    :%s/^M/[ctrl-v]+[enter]/g # 将^M替换成回车。(我是用这个方法调好的)
    :%s/^M/ /g # 将^M替换成回车。
     
    3.使用sed命令。和vi的用法相似:
    $ sed -e ‘s/^M/ /g’ myfile.txt
    注意:这里的“^M”要使用“CTRL-V CTRL-M”生成,而不是直接键入“^M”。
  • 相关阅读:
    tars go版本源码分析
    goim源码阅读
    vue weixin源码解读
    避免加锁的骚操作
    git一些常用操作
    eclipse 的习惯配置
    ai资源站
    转载 github上的一些安全资源收集
    转载 一个统计代码行数的python脚本
    C语言开发工具
  • 原文地址:https://www.cnblogs.com/lipijin/p/3837619.html
Copyright © 2011-2022 走看看