可以去掉^M,

例如:

在终端下敲命令:
dos2unix a.c
直接转换成unix格式,这样就可以去掉^M

•$dos2unix filename
•vim filename

:%s/^M$//g

^M = Ctrl+v+m

著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:小幕
链接:http://www.zhihu.com/question/22130727/answer/33814375
来源:知乎

基于 DOS/Windows 的文本文件在每一行末尾有一个 CR(回车)和 LF(换行),而 UNIX 文本只有一个换行,即win每行结尾为\r\n,而linux只有一个\n
如果win下的文档上传到linux,每行的结尾都会出现一个^M,(^M是ctrl+v,ctrl+m)
如果是单个文档的话,可以用vi打开,执行 :%s/^M//g 来去掉^M,
但如里批量去除的话就不能用vi了,

方法1: 用dos2unix工具,
把win文档转换成linux下文档
命令:
find ./ -type f -print0 | xargs -0 dos2unix

如果想把linux下的文档转换成win下的:
find ./ -type f -print0 | xargs -0 unix2dos

方法2: 用sed命令
把win文档转换成linux下文档:
find ./ -type f print0 | xargs -0 sed -i 's/^M$//'

把linux下的文档转换成win下的
fild ./ -type f print0 | xargs -0 sed -i 's/$/^M/'

vim下如何去掉windows编辑的文件中的^M的更多相关文章

  1. windows phone xaml文件中元素及属性(10)

    原文:windows phone xaml文件中元素及属性(10) Textblock xaml文件和隐藏文件 在设计界面的时候我们可以通过xaml中进行设计,这种设计是所见即所得的,很是方便,由于x ...

  2. Ubuntu系统下解决“YourUserName不在sudoers文件中。此事将被报告”的问题

    本文由荒原之梦原创,原文链接:http://zhaokaifeng.com/?p=624 问题描述: 之前在使用Fedora系统时遇到过在使用 sudo 时提示"YourUserName不在 ...

  3. win7在本地windows的hosts文件中,添加新的域名映射后,不生效(问题描述:hosts文件添加自定义域名后,ping 不通域名,但是ping ip可以)

    将原来的hosts文件删除,在C:\Windows\System32\drivers\etc目录下,新建一个新的hosts文件(记住文件不要后缀,不要命名为.txt,本人在此踩过坑,或者可以百度搜索下 ...

  4. wince下写入数据到csv/txt文件中

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  5. ubuntu下python跑任务输出到文件中遇到的一些问题(输出重定向)

    之前主要是参考https://www.cnblogs.com/chason95/articles/9760291.html 一般使用 python test.py > ./log.txt 或 p ...

  6. linux下find查找与批量替换文件中指定内容

    经常在部署tomcat时需要替换配置文件中的ip,find命令批量替换还是很方便的 查找需要替换的ip,看看哪些文件有配置这个ip,执行下面命令: find ./ -type f -regex &qu ...

  7. linux下将终端的输入存入文件中

    代码很简单: #include <stdlib.h> #include <fcntl.h> #include <stdio.h> #include <unis ...

  8. windows.h头文件中改变光标位置的函数——SetConsoleCursorPosition

    COORD 具体为 typedef struct COORD{ short X; short Y; } COORD,*PCOORD;     可以用来记录坐标. #include <iostre ...

  9. UNIX命令,统计当前目录(含子目录)下所有后缀为.log的文件中ERROR出现的行数

    shell程序如下所示: # cat xarg.txt #! /usr/bin/ksh for logfile in `find . -name "*.log*"` do echo ...

随机推荐

  1. AIX上安装配置DB2

    在2台P550数据库主机上安装DB2 V8.2,两台数据库主机间进行数据库HA配置,实现数据库双机互备. 本文档编写以磁盘大小360G,数据库名CRAMS_JS为例. 设备准备 请系统管理员协助划分D ...

  2. Docker(二十五)-Docker Machine

    Docker Machine 是什么? Docker Machine 是 Docker 官方提供的一个工具,它可以帮助我们在远程的机器上安装 Docker,或者在虚拟机 host 上直接安装虚拟机并在 ...

  3. ESXi 系统管理员命令 [转帖]

    来源 https://blog.csdn.net/zy_strive_2012/article/details/53336000 正如所有的虚拟化管理员都知道,要应对VMware基础设施上需要的更多虚 ...

  4. code review & github

    code review & github code review https://github.com/features/code-review/ https://github.com/mar ...

  5. developer roadmap

    developer roadmap https://balsamiq.com/ https://balsamiq.com/givingback/free/ https://balsamiq.cloud ...

  6. Entity Framework(EF) Code First将实体中的string属性映射成text类型的几种方式

    1.通过ColumnType属性设置 [Column(TypeName="text")] public string Text { get; set; } 在进行以上属性设置时,请 ...

  7. hdu6444 Neko's Loop

    要想A一道题,你需要正版ide,正版草稿纸,正版键盘,正版双手,但最重要的是正版大脑.(改编自wxf在微积分群的吐槽) 分析一下题意,选的所有数的下标模gcd(n,k)都是同余的,而且是在所有同余的下 ...

  8. ubuntu 16.04 kdump 使用

    1.安装linux-crashdump及kdump sudo apt-get install linux-crashdump sudo apt-get install kexec-tool 2.重启电 ...

  9. P2622 关灯问题II

    题目描述 现有n盏灯,以及m个按钮.每个按钮可以同时控制这n盏灯——按下了第i个按钮,对于所有的灯都有一个效果.按下i按钮对于第j盏灯,是下面3中效果之一:如果a[i][j]为1,那么当这盏灯开了的时 ...

  10. 洛谷P3960 列队(NOIP2017)(Splay)

    洛谷题目传送门 最弱的Splay...... 暴力模拟30分(NOIP2017实际得分,因为那时连Splay都不会)...... 发现只是一个点从序列里搬到了另一个位置,其它点的相对位置都没变,可以想 ...