在基于双系统平台做开发时,我们经常需要将Linux下的文本文件上传到windows,或将windows下的文本文件上传到Linux,但是会出现乱码和换行符的问题。这是因为Linux和Window下的文本文件的编码格式不同造成的。Windows中默认的文件格式是GBK(gb2312),而Linux中默认的编码格式是UTF-8。除此之外,Windows中的文本文件的断行符为^M$,我们称为CR与LF两个符号;而在Linux中文本文件的断行符为$,即仅有LF($)这个断行符号。

         可以用dos2unix命令将Windows文本文件的断行符转换为Linux文本文件的断行符;用unix2dos命令将Linux文本文件的断行符转换为Windows文本文件的断行符。但这两个命令在Ubuntu中是没有的,可通过如下命令进行安装:

$sudo apt-get install tofrodos

安装之后可按如下格式进行转换

kaidy@kaidy-Ideapad-V460:~$ unix2dos [-kn] file [newfile]

kaidy@kaidy-Ideapad-V460:~$ dos2unix [-fn] file [newfile]

-k : 保留该文件原来的mtime时间格式

-n : 保留原本的旧文件,将转换后的内容输出到新文件,如 dos2unix -n oldfile newfile
Logo

更多推荐