为啥要用
有时候我们在windows下编写的文件或sh脚本拿到服务器上运行或使用时会遇到有特殊字符的情况,格式就全都乱了,同理,linux下的文件在windows中也会遇到这种情况。比如:
那么怎么处理这种问题呢。其实有两个非常好用的命令一键就能帮助我们解决这些问题。
dos2unix
和unix2dos
介绍
dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format
converter)。DOS下的文本文件是以rn作为断行标志的,表示成十六进制就是0D
0A。而Unix下的文本文件是以n作为断行标志的,表示成十六进制就是0A。DOS格式的文本文件在Linux底下,用较低版本的vi打开时行尾会显示^M,而且很多命令都无法很好的处理这种格式的文件,如果是个shell脚本,。而Unix格式的文本文件在Windows下用Notepad打开时会拼在一起显示。因此产生了两种格式文件相互转换的需求,对应的将UNIX格式文本文件转成成DOS格式的是unix2dos命令。
使用方法
安装
比如在centos环境下安装着两个命令。
执行yum list | grep dos2unix
可以看到如下结果
那么我们就可以直接使用yum install dos2unix
直接安装
安装完成后可以看到
都已经有了
语法
dos2unix [-hkqV] [-c convmode] [-o file ...] [-n infile outfile ...]
选项
-k:保持输出文件的日期不变
-q:安静模式,不提示任何警告信息。
-V:查看版本
-c:转换模式,模式有:ASCII, 7bit, ISO, Mac, 默认是:ASCII。
-o:写入到源文件
-n:写入到新文件
常用方法
最简单的用法就是直接在命令后面跟文件名,就会完成转换并替换
dos2unix file1.txt #转换并替换file1.txt
dos2unix f1.txt f2.txt #转换并替换f1.txt
如果要转换并保留原文件,可以添加-n参数
dos2unix -n old.txt new.txt #将old.txt转换另存为new.txt
其他
另外的命令也都差不多。
本文由 root 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Apr 27, 2017 at 05:30 pm
这个不错