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”。
  • 相关阅读:
    Sum Root to Leaf Numbers
    Sum Root to Leaf Numbers
    Sort Colors
    Partition List
    Binary Tree Inorder Traversal
    Binary Tree Postorder Traversal
    Remove Duplicates from Sorted List II
    Remove Duplicates from Sorted List
    Search a 2D Matrix
    leetcode221
  • 原文地址:https://www.cnblogs.com/lipijin/p/3837619.html
Copyright © 2011-2022 走看看