windows中的文本文件的換行符是"\r\n",而linux中是"\n",dos格式文件傳輸到unix系統時,會在每行的結尾多一個^M,固然也有可能看不到,可是在vi的時候,會在下面顯示此文件的格式,好比 "dos.txt" [dos] 120L, 2532C 字樣,表示是一個[dos]格式文件,若是是MAC系統的,會顯示[MAC],由於文件格式的緣由有時會致使咱們的unix程序,或者shell程序出現錯誤,那麼須要把這些dos文件格式轉換成unix格式。
由windows系統中的文件移到unix系統下時,執行時提示No such file or directory。
方法總結以下:
一、使用vi編譯器
輸入 :set fileformat=unix 或 set ff=unix ,用命令:set ff? 能夠看到dos或unix的字樣,set ff=dos #設置成dos格式。
二、使用sed
sed 's/^M//' filename > tmp_filename,其中^M是同時Ctrl+V+M按出來的,不是直接輸入 ^M,表示回車。
三、使用tr
命令:tr -d "\015" dos_file.txt
四、使用perl
cat dos_file.txt | perl -pe '~s/\r//g' > dos_file.txt
五、dos2unix
dos2unix file
dos2unix file1 file2 file3
部分系統下,沒有安裝dos2unix,須要安裝。linux