1. 程式人生 > >將DOS格式文字檔案轉換成UNIX格式

將DOS格式文字檔案轉換成UNIX格式

用途說明

dos2unix命令用來將DOS格式(Windows格式)的文字檔案轉換成UNIX格式的(DOS/MAC to UNIX text file format converter)。

DOS下的文字檔案是以 \r\n 作為斷行標誌的,表示成十六進位制就是0D 0A。而Unix下的文字檔案是以 \n 作為斷行標誌的,表示成十六進位制就是 0A。

DOS格式的文字檔案在Linux底下,用較低版本的vi開啟時行尾會顯示 ^M,而且很多命令都無法很好的處理這種格式的檔案,包括shell指令碼。

而Unix格式的文字檔案在Windows下用Notepad開啟時會拼在一起顯示。因此產生了兩種格式檔案相互轉換的需求,對應的將UNIX格式文字檔案轉成成DOS格式的是unix2dos命令。

常用引數

將DOS格式文字檔案轉換成Unix格式,最簡單的用法就是dos2unix直接跟上檔名。

dos2unix file

如果一次轉換多個檔案,把這些檔名直接跟在dos2unix之後。(注:也可以加上-o引數,也可以不加,效果一樣)

dos2unix file1 file2 file3
dos2unix -o file1 file2 file3

上面在轉換時,都會直接在原來的檔案上修改,如果想把轉換的結果儲存在別的檔案,而原始檔不變,則可以使用-n引數。

dos2unix oldfile newfile

如果要保持檔案時間戳不變,加上-k引數。所以上面幾條命令都是可以加上-k引數來保持檔案時間戳的。

dos2unix -k file
dos2unix -k file1 file2 file3
dos2unix -k -o file1 file2 file3
dos2unix -k -n oldfile newfile

注:unix2dos命令的使用方式與dos2unix命令的類似。