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”。
  • 相关阅读:
    Zookeeper----1.基础知识
    UML图
    VUE入门3---axios
    VUE入门2---vue指令
    谁先执行?props还是data或是其他? vue组件初始化的执行顺序详解
    vue双向绑定原理分析
    HTML/CSS -- 浏览器渲染机制
    vue工作原理分析
    导入导出需求整理
    .NET 异步详解
  • 原文地址:https://www.cnblogs.com/lipijin/p/3837619.html
Copyright © 2011-2022 走看看