Vim编辑windows格式文件出现的[noeol][dos]的含义、解决方法及方法解释
前言
最近想要将保存再windows的文件传到linux上,传进去保存文件之后,用vim打开发现在文件的底下出现了[dos] [noeol]这两个标志。然后就很疑问这是什么以及应该怎么解决
其实这两个问题产生的原因都是因为windows和linux对于文件的不同格式而引发的问题。
这是我在windows下的文件:

等我传到linux后,用cat -A ceshi.txt,查看到的就是如下

会有一个[noeol] [dos]的标志。
[dos]
这个标志的产生原因是因为在windows下,文件的换行符是\r\n,而在linux下换行符是\n,所以,使用cat -A ceshi.txt会发现,多了一个^M,而正常linux文件的就只有一个$,所以说,我们要想办法把这个^M去掉就可以消除[dos]标志了。
解决的方法:
dos2unix ceshi.txt
如果没有dos2unix,首先得安装dos2unix,
输入sudo apt-get install dos2unix,这个一般都安装了sed -i 's/^M//g' ceshi.txt
这里的^M是用ctrl + V,然后ctrl + M打出来的
sed -i的意思是直接在文件里编辑,s是代表替换,/^M//这里代表将^M替换成空,g是代表替换所有列
所以这个命令的含义就是将ceshi.txt文件里的所有的^M都替换成空使用vim
首先vim ceshi.txt,然后:1, $s/^M//g
这里得含义和第2种方法是一样的,但是不同点在于1, $这里,是指定处理从第一行到最后一行,$代表最后一行
同样这里的^M是用ctrl + V,然后ctrl + M打出来的cat ceshi.txt |tr -d '\r' > ceshi.txt
tr -d是删除指定的字符,\r是可以代表^M
[noeol]
这里的这个noeol也就是no end-of-line的意思,就是结尾没有一个换行符,这也是因为windows的文件的问题,因为其末尾是没有换行的
解决方法:
使用vim
当你的文件有这种[noeol]的标志时,可以vim打开文件,然后输入:wq保存,就可以把[noeol]消除掉。sed -i -e '$a\'
a的意思是追加,就是在末尾追加一个换行。
Vim编辑windows格式文件出现的[noeol][dos]的含义、解决方法及方法解释的更多相关文章
- [转帖]Vim 编辑器底端 [noeol], [dos] 的含义
Vim 编辑器底端 [noeol], [dos] 的含义 2012年11月28日 23:13:04 strongwangjiawei 阅读数:15484 https://blog.csdn.net/s ...
- 导出CSV格式文件,用Excel打开乱码的解决办法
导出CSV格式文件,用Excel打开乱码的解决办法 1.治标不治本的办法 将导出CSV数据文件用记事本打开,然后另存为"ANSI"编码格式,再用Excel打开,乱码解决. 但是,这 ...
- 在linux下,去除^M,将windows格式文件(dos文件)改为unix格式文件
在Windows系统下编辑的文件,换行符回车的格式为'\r\n',在linux系统下,回车的格式为'\n',在Windows下编辑的文本文件在上传至linux服务器时,回车'\r\n'就显示成^M+' ...
- Java读取UTF-8格式文件第一行出现乱码——问号“?”及解决 And Java读带有BOM的UTF-8文件乱码原因及解决方法
測试样例: Java读取UTF-8的txt文件第一行出现乱码"?"及解决 test.txt文件内容: 1 00:00:06,000 --> 00:00:06,010 < ...
- vim 编辑 windows下的文本时出现乱码, 修改配置后 已解决
最近用VIM 查看一个 WINDOWS下的文本,打开以后发现出现乱码,具体如上图. 最后在网上找到了一个解决方法: 原文地址: https://www.zhihu.com/question/22363 ...
- linux下vi与vim区别以及vim的使用-------vim编辑时脚本高光显示语法
vi与vimvi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器.他是我们使用Linux系统不能缺少的工具.由于对U ...
- vim编辑下Python2.0自动补全
Python自动补全有vim编辑下和python交互模式下,下面分别介绍如何在这2种情况下实现Tab键自动补全. 一.vim python自动补全插件:pydiction 可以实现下面python代码 ...
- VS调试时JSON格式文件无法加载
VS调试时JSON格式文件无法加载 报错: 解决:在项目中的web.config中进行配置,configuration节中添加以下部份: <system.webServer> <st ...
- .pages怎么在windows上打开?Windows下打开在Mac中编辑的.pages文件方法
.pages怎么在windows上打开?Windows下打开在Mac中编辑的.pages文件方法 1.最简单的方法是修改后缀名为.zip然后解压,解压后就可以看到一张图片,这个就是文档内容了. 2.更 ...
- Linux系统的文件复制移动删除与VIM编辑
目录 今日内容概要 内容详细 复制文件 移动文件 删除文件 系统别名(针对 rm 改别名) vim编辑器 今日内容概要 复制文件 移动文件 删除文件 vim编辑器 内容详细 复制文件 # 命令: cp ...
随机推荐
- 【转载】Netty堆外内存泄漏排查
https://www.imooc.com/article/298943 上篇文章介绍了Netty内存模型原理,由于Netty在使用不当会导致堆外内存泄漏,网上关于这方面的资料比较少,所以写下这篇文章 ...
- Qt/C++音视频开发68-检查是否含有B帧/转码推流/拉流显示/监控拉流推流/海康大华宇视监控
一.前言 为什么需要判断视频文件是否含有B帧,这个在推流的时候很容易遇到这个问题,一般来说,没有B帧的视频文件,解码后的数据帧pts和dts都是顺序递增的,而有B帧的则未必,可能有些需要先解码后面显示 ...
- [转]Microsoft Robotics Studio:微软仿真机器人集成开发环境,简称MSRS
原文链接:Microsoft Robotics Studio 微软官网:Robotics: Simulating the World with Microsoft Robotics Studio 其它 ...
- IM通讯协议专题学习(六):手把手教你如何在Android上从零使用Protobuf
本文由sweetying分享,为了更好的阅读体验,有较多的内容修订和排版优化. 1.前言 最近我负责的 LiveChat 客服聊天系统到了自研阶段,任务类似于做一个腾讯云IM这样的通信层SDK.在和后 ...
- 【Windows】修改虚拟内存位置
问题:系统优化中,希望将pagefile.sys文件(即虚拟内存)移动到其他盘中,在网上查找解决办法,找了很多,按照方法设置完成后,pagefile.sys文件依然存在,后来,找到了一篇文章解决了,现 ...
- [LC735]行星碰撞
题目描述 给定一个整数数组 asteroids,表示在同一行的行星.对于数组中的每一个元素,其绝对值表示行星的大小,正负表示行星的移动方向(正表示向右移动,负表示向左移动).每一颗行星以相同的速度移动 ...
- blast只保留一个最优结果
使用blast比对时,只保留一个最优结果 代码: blastn -db nt.blast.db -query seq.fa -out blast.nt.result -evalue 1e-5 -out ...
- 一致性hash和普通hash和hash槽
普通hash Hash函数:一般翻译做散列.杂凑,或音译为哈希,是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值.碰撞(冲突):如果两个关键字通过 ...
- Wgpu图文详解(05)纹理与绑定组
前言 什么是纹理? 纹理是图形渲染中用于增强几何图形视觉效果的一种资源.它是一个二维或三维的数据数组,通常包含颜色信息,但也可以包含其他类型的数据,如法线.高度.环境光遮蔽等.纹理的主要目的是为几何图 ...
- IDEA 统计代码量
参考:链接 打开setting 找到Plugins,打开插件市场 搜索Statistic ,点击下载 重启IDEA即可 问题 idea插件安装后不显示 插件版本与idea本身版本不同导致的不兼容.解决 ...