我们都知道Linux上的文件下载到windows系统上格式就乱了, 那我们怎么办那 ?现在我教大家一个简单的方法来解决Linux系统的文件下载到windows系统上会出现的文件格式乱的情况。
dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text fileformat
converter)。DOS下的文本文件是以\r\n作为断行标志的,表示成十六进制就是0D0A.而Unix下的文本文件是以\n作为断行标志的,表示成十六进制就是0A.
DOS格式的文本文件在Linux底下,用较低版本的vi打开时行尾会显示^M,而且很多命令都无法很好的处理这种格式的文件,如果是个shell脚本。而Unix格式的文本文件在Windows下用Notepad打开时会拼在一起显示。因此产生了两种格式文件相互转换的需求,对应的将UNIX格式文本文件转成成DOS格式的是unix2dos命令。
unix2dos 和 dos2unix
名称
unix2dos-UNIX 到 DOS 文本文件格式转换器
新思科技
unix2dos [选项] [-c convmode] [-o 文件......][-n infile 文件的输出......]
选项:
[-hkqV][— — 帮助][-keepdate][— — 安静][— — 版本]
常用参数:
-k :保留文件运来的格式。
-n :保留原本的旧文件,将转换后的内容输出到新文件。
unix2dos 例子:
从 stdin 中获得输入和输出写到标准输出。
unix2dos
转换和替换 a.txt。转换和替换 b.txt。
[root@localhost ~]# unix2dos a.txt b.txt
[root@localhost ~]# unix2dos -o a.txt b.txt
转换和替换 a.txt 中 ASCII 转换模式。转换和
替换 b.txt 的 ISO 转换模式。
[root@localhost ~]# unix2dos a.txt-c iso b.txt
[root@localhost ~]# unix2dos -c ascii a.txt -c iso b.txt
转换和替换 a.txt 同时保持原始日期戳。
[root@localhost ~]# unix2dos -k a.txt
[root@localhost ~]# unix2dos -k -o a.txt
转换 a.txt 和写入 e.txt。
[root@localhost ~]# unix2dos -n a.txt e.txt
转换 a.txt 和写入相同,e.txt,e.txt 保持日期戳
a.txt。
[root@localhost ~]# unix2dos -k -n a.txt e.txt
转换和替换 a.txt。转换 b.txt 和写入 e.txt。
[root@localhost ~]# unix2dos a.txt -n b.txt e.txt
[root@localhost ~]# unix2dos -o a.txt -n b.txt e.txt
转换 c.txt 并写入 e.txt。转换和替换 a.txt。转换
和替换 b.txt。转换 d.txt 并写入 f.txt。
[root@localhost ~]# unix2dos -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt
dos2unix 例子:
dos2unix
[root@localhost ~]# dos2unix a.txt b.txt
[root@localhost ~]# dos2unix -o a.txt b.txt
转换和替换 a.txt 中 ASCII 转换模式。
[root@localhost ~]# dos2unix a.txt -c iso b.txt
转换和替换 b.txt 的 ISO 转换模式。
[root@localhost ~]# dos2unix -c ascii a.txt -c iso b.txt
Mac c.txt 转换 Unix ascii 格式中。
[root@localhost ~]# dos2unix -c mac c.txt b.txt
转换和替换 a.txt 同时保持原始日期。
[root@localhost ~]# dos2unix -k a.txt
[root@localhost ~]# dos2unix -k -o a.txt
[root@localhost ~]# dos2unix -n a.txt e.txt
[root@localhost ~]# dos2unix -k -n a.txt e.txt
[root@localhost ~]# dos2unix a.txt -n b.txt e.txt
[root@localhost ~]# dos2unix -o a.txt -n b.txt e.txt