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 ...
随机推荐
- java double转string去除科学计数法"E" 非tostring()和valueOf()
在遇到需要将double类型转换string类型时,会出现转成科学计数法的形式,希望字符串能原样输出.直接使用会报java.lang.Double cannot be cast to java.lan ...
- Springboot整合WebSocket作为服务端遇到的坑
最近遇到一个需求,对接某公有云上的坐席系统,需要接收人工坐席和客户对话的语音流,然后调用ASR(Automatic Speech Recognition,自动语音识别)引擎,对语音流实时转写,最后将实 ...
- Web网页端IM产品RainbowChat-Web的v5.0版已发布
一.关于RainbowChat-Web RainbowChat-Web是一套Web网页端IM系统,是RainbowChat的姊妹系统(RainbowChat是一套基于开源IM聊天框架 MobileIM ...
- JVM实战—8.如何分析jstat统计来定位GC
大纲 1.使用jstat了解线上系统的JVM运行状况 2.使用jmap和jhat了解线上系统的对象分布 3.如何分析JVM运行状况并合理优化 4.使用jstat分析模拟的BI系统JVM运行情况 5.使 ...
- vue el-select封装一个滚动加载更多下拉选项的自定义指令
没有什么讲究,直接上代码 模板部分 <el-select v-model="operator" filterable remote size="small" ...
- (一).NET 6.0 Swagger添加文档注释
1.先给api加上标题注释和返回值注释 2.右键项目属性找到生成中的输出 勾选完成以后重新生成项目 3.在Program项目启动类中编写代码 4.最终效果如下
- c# WPF convert photo to Sketch effects
using the online website https://imagetosketch.com/ <Window x:Class="WpfMosaic.PhotoSketchWi ...
- Java API 之 Object
Object 顶级父类.任何一个类都将 Object 作为父类,也就意味着任何一个对象都可以赋值给 Object 对象.Object 类也是 Java 中唯一的一个没有父类的类. (方法默认是 pub ...
- ClickHouse-2接口
客户端 ClickHouse提供了两个网络接口(两个都可以选择包装在TLS中以增加安全性): HTTP, 包含文档,易于使用. Native TCP,简单,方便使用. 在大多数情况下,建议使用适当的工 ...
- 第八章 (Nginx+Lua)流量复制/AB测试/协程
流量复制 在实际开发中经常涉及到项目的升级,而该升级不能简单的上线就完事了,需要验证该升级是否兼容老的上线,因此可能需要并行运行两个项目一段时间进行数据比对和校验,待没问题后再进行上线.这其实就需要进 ...