DOS文件转换成UNIX文件格式详解
由windows平台迁移到unix系统下容易引发的问题:Linux执行脚本却提示No such file or directory
:set fileformat=unix
:w
用:set ff=unix把它强制为unix格式,也可以用sed 这样的工具来做:
1. 使用vi
vi dos_file.txt
:%s/^M//g
其中^M 必须是同时按 Ctrl+V+M ,表示回车。不是直接输入 ^M ,那没有用的, :-) 。
命令:tr -d "\015" dos_file.txt
很久以前,老式的电传打字机使用两个字符来另起新行。一个字符把滑动架移回首位 (称
为回车,),另一个字符把纸上移一行 (称为换行,)。
当计算机问世以后,存储器曾经非常昂贵。有些人就认定没必要用两个字符来表示行
尾。UNIX 开发者决定他们可以用 一个字符来表示行尾。Apple 开发者规定
了用 。开发 MS-DOS (以及微软视窗) 的那些家伙则决定沿用老式的 。
那意味着,如果你试图把一个文件从一种系统移到另一种系统,那么你就有换行符方
面的麻烦。Vim 编辑器自动识别不同文件格式,并且不劳你操心就把事情给办妥了。
选项 'fileformats' 包含各种各样的格式,Vim 会在编辑一个新文件之初尝试该选项
定义的各种格式。例如,下面这个命令告诉 Vim 先尝试用 UNIX 格式,其次,尝试
MS-DOS 格式:
辑的是本地格式文件 (你编辑的文件格式和所用系统一致),你就不会看到任何格式名。
因此在 Unix 系统上编辑一个 Unix 格式文件不会产生任何关于格式的信息。但你若编辑
一个 dos 文件,Vim 将这样通知你:
探测到的文件格式会被存入 'fileformat' 选项。执行下面这个命令可以显示你当前
使用的文件格式:
dos
mac
常发生在 Vi (和 Vim) 脚本内。
在采用 作为换行符的 Macintosh 上, 字符也有可能混在文本行中间。
结果,很难 100% 肯定一个同时包含 和 的文件究竟是 Mac 还是 Unix 格
式。所以,Vim 假设你一般不会在 Unix 上编辑一个 Mac 文件,所以干脆对这种文件格
式不作检查。果真要检查此种格式,就把 "mac" 加入 'fileformats':
末尾有个 ^M 字符。(^M 就是 )。而 Vim 的自动探测功能就避免了这个问题。莫非
你确实要按那个样子来编辑这个文件吗?那么你需要强制 Vim 忽略文件格式而使用你指
定的格式:
"++ff" 用于 'fileformat' 选项。你也可以用 "++ff=mac" 或 "++ff=dos"。
这样用法并非适用于任意选项,目前 Vim 仅仅实现了 "++ff" 和 "++enc"。用全称
"++fileformat" 和 "++encoding" 也行。
README.TXT 的 MS-DOS 文件,你要把它转换成 UNIX 格式。首先编辑这个采用 MS-DOS
格式的文件:
vim README.TXT
:write
DOS文件转换成UNIX文件格式详解的更多相关文章
- Intellij IDEA 将工程转换成maven工程 详解
1> 右键工程,点击 Add Framework Support 2> 选中 Maven,再点击 OK 3> 工程根目录自动生成 pom.xml 文件,这样 工程就支持 Ma ...
- 在linux下,去除^M,将windows格式文件(dos文件)改为unix格式文件
在Windows系统下编辑的文件,换行符回车的格式为'\r\n',在linux系统下,回车的格式为'\n',在Windows下编辑的文本文件在上传至linux服务器时,回车'\r\n'就显示成^M+' ...
- dos2unix 将DOS格式转换成NUIX格式
1.命令功能 dos2unix将windows文件格式转换成unix文件格式. 2.语法格式 dos2unix file 3.使用范例 [root@localhost ~]# dos2unix wi ...
- Linux下dos2unix命令将windows文件编码格式dos转换成Unix格式
问题描述: 在Windows系统下面使用文本编辑器notepad后传到Linux系统下的话 Linux下处理和执行一般都存在一些问题,我们可以通过命令查看文件是否是dos格式的, 如果有如图所示的M标 ...
- vim 将文件从dos格式转换到unix格式
dos格式文件传输到unix系统时,会在每行的结尾多一个^M(/r),当然也有可能看不到.但是在vim的时候,会在下面显示此文件的格式,比如 "dos.txt" [dos] 120 ...
- [转] 将DOS格式文本文件转换成UNIX格式
点击此处阅读原文 用途说明 dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter).DOS下的文本文 ...
- PE文件格式详解,第一讲,DOS头文件格式
PE文件格式详解,第一讲,DOS头文件格式 今天讲解PE文件格式的DOS头文件格式 首先我们要理解,什么是文件格式,我们常说的EXE可执行程序,就是一个文件格式,那么我们要了解它里面到底存了什么内容 ...
- dos2unix命令 – 将DOS格式的文本文件转换成UNIX格式
今天做题的时候,出现了个很冷门的: 查找子目录src下所有后缀为.txt的文件执行dos2unix命令,把文件从Dos格式转换为Linux格式,正确的命令是:find src "*.txt& ...
- dos下的edit命令使用详解
dos下的edit命令使用详解 来源:网络 作者:未知 edit命令是一个简单的编辑软件,我们经常用它来编辑一些程序和批处理文件. 比如,我想在c盘根目录下编辑一个简单的批处理文件,要求无论当前盘和当 ...
随机推荐
- vs2012碰到生成时报该错误:项目中不存在目标“GatherAllFilesToPublish”
手头一个vs2010升级到vs2012后,web项目发布到本地目录时项目报错:“该项目中不存在目标“GatherAllFilesToPublish”” 通过谷歌大神的帮助,找到了解决方法.共享之. 原 ...
- [20180625]oradebug peek 2.txt
[20180625]oradebug peek 2.txt --//上个星期演示了oradebug peek查看内存数据块的情况,oradebug peek {address} length 1,最后 ...
- [20180626]函数与标量子查询14.txt
[20180626]函数与标量子查询14.txt --//前面看http://www.cnblogs.com/kerrycode/p/9099507.html链接,里面提到: 通俗来将,当使用标量子查 ...
- 【第五篇】SAP ABAP7.5x新语法之命名规约
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:SAP ABAP7.5x系列之命名规约 命名 ...
- Python3.5中安装Scrapy包时出现问题
在Python3.5中安装Scrapy第三方库 pip install Scrapy 安装到后面出现的这类错误: error: Microsoft Visual C++ 14.0 is require ...
- Hadoop2.7.6_06_mapreduce参数优化
MapReduce重要配置参数 1. 资源相关参数 //以下参数是在用户自己的mr应用程序中配置就可以生效 () mapreduce.map.memory.mb: 一个Map Task可使用的资源上限 ...
- 八皇后问题的Python实现和C#实现
看到八皇后问题的解决思路, 感觉很喜欢. 我用C#实现的版本之前贴在了百度百科上(https://baike.baidu.com/item/%E5%85%AB%E7%9A%87%E5%90%8E%E9 ...
- python分包写入文件,写入固定字节内容,当包达到指定大小时继续写入新文件
第6行通过 for 循环控制生成 .log 文件的数量 第8行,如果该文件存在时先进行清空,然后再进行写入操作 第13行,将文件大小的单位转为MB 第14行,如果文件大小超过1MB时,跳出当前循环,重 ...
- 转 VMware虚拟机三种联网方式(图文详细解说)
原文地址https://blog.csdn.net/lucienduan/article/details/38233147 VMware三种网络模式联网 首先说一下VMware的几个虚拟设备 安装了V ...
- c++ 常成员函数 和 常对象
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/zhuyingqingfen/article/details/31751111 先明白几个概念: 1. ...