dos2unix和unix2dos命令
嘻嘻发布于2020-10-03
最后更新于2020年8月19日
浏览在项目团队开发的过程,经常碰到团队成员使用的系统不一样,有的使用Linux,有的是window,所以可能会出现, 代码文件格式不一样的问题, window窗口文件使用与Dos相同的格式,其中行尾由两个字符表示,回车符或CR或\ r,后跟换行符或LF或\n。另一方面,Unix文件仅使用换行(\n)。
Windows和Linux文本文件的格式略有不同。在Windows中,行以换行符和回车符结尾,均返回ASCII字符,但是Linux仅使用换行符。因此,某些Windows应用程序将不会在Unix格式的文件中显示换行符。同样,Linux程序可能会在Windows文本文件中以每行末尾的Ctrl-m(^M)字符显示回车符。
unix2dos是一个工具,可将文本文件中的换行符从Unix格式(换行)转换为DOS格式(回车+换行),反之亦然。
- dos2unix命令:将DOS文本文件转换为UNIX格式。
- Unix2dos命令:将Unix文本文件转换为DOS格式
举个例子:
Task : Create a file in DOS or in notepad with following contents
hello everybody
welcome to unix
unix is easy
现在将此文件复制到unix /home/11meigui目录中
$od –bc myfile.txt
0000000 150 145 154 154 157 040 145 166 145 162 171 142 157 144 171 015
h e l l o e v e r y b o d y \r
0000020 012 167 145 154 143 157 155 145 040 164 157 040 165 156 151 170
\n w e l c o m e t o u n i x
0000040 015 012 165 156 151 170 040 151 163 040 145 141 163 171 015 012
\r \n u n i x i s e a s y \r \n
0000060
CR-LF组合由八进制值015-012和转义序列\ r \ n表示。
注意:上面的输出显示这是DOS格式的文件。
现在通过使用dos2unix命令将DOS文件转换为UNIX格式
$ dos2unix myfile.txt
$ od –bc myfile.txt
将此文件转换为UNIX只是删除\ r的简单问题。
我们还可以使用unixsdos命令将UNIX文件转换为DOS格式。
$ unix2dos myfile.txt
$ od –bc myfile.txt
将此文件转换为DOS后,\ r将添加到DOS文件中。