dos2unix命令用來將DOS格式的文本文件轉換成UNIX格式的(DOS/MAC to UNIX text file format converter)。
DOS下的文本文件的換行符爲\r\n,表示成十六進制就是0D 0A,而Unix下的文本文件換行符爲\n,表示成十六進制就是0A。DOS格式的文本文件在Linux上用較低版本的vi打開行尾會顯示^M,而且不少命令都沒法的處理好這種格式的文件,所以產生了兩種格式文件相互轉換的需求,對應的將UNIX格式文本文件轉成成DOS格式的是unix2dos命令。
使用cat -v查看文件中的非打印字符linux
語法:windows
dos2unix [-hkqV] [-c convmode] [-o file ...] [-n infile outfile ...]
選項:unix
-k:保持輸出文件的日期不變
-q:安靜模式,不提示任何警告信息
-V:查看版本
-c:轉換模式,模式有:ASCII, 7bit, ISO, Mac, 默認是:ASCII
-o:寫入到源文件
-n:寫入到新文件code
實例component
轉換單個或多個文件orm
最簡單的用法是dos2unix直接接一個文件或多個文件遞歸
dos2unix file1 file2 file3 ...it
批量轉換目錄下的文件form
Linux自己提供了dos2unix和unix2dos這兩個命令來實現windows和linux文件的轉換,
可是dos2unix和unix2dos自己沒有提供遞歸選項也就是批量修改的方式,所以能夠藉助xargs命令實現。xargs的命令的做用就是將參數列表轉換成小塊分段傳遞給其餘命令。file
假設須要轉換格式的文件所在目錄爲 public/components
find public/components/ -name "*" | xargs dos2unix
優勢:批量轉換、工做量小。藉助管道符和xargs來實現的批量轉換,此方法能夠實現其它命令的批量操做(如批量刪除等)