同学们也许知道,windows中的文本文件的换行符是"\r\n",而linux中是"\n"。由于换行符的不同,所以有的时候会发生一些莫名其妙的状况。至于具体什么状况我就不举例子了,场景要说起来比较多。反正具体的情况是这样的:
你在windows下写了一个文本文件:

拷贝到linux下之后,用cat -v afile.txt查看文件,结果变成了这样:

^M什么东西?
结果也许会演变成一场灾难。
发生过这样的问题之后,同事在网上找到一个神奇的工具:dos2unix。在ubuntu下可以直接使用apt来安装:
sudo apt-get -y install dos2unix
装好之后,直接用dos2unix afile.txt 就可以了:
$ dos2unix afile.txt
dos2unix: converting file afile.txt to Unix format ...
效果:

支持同时改多个文件,直接dos2unix file1 file2 ... 即可。
很简单不是吗?