dos2unix
將DOS格式文本文件轉換成Unix格式
補充說明
dos2unix命令 用來將DOS格式的文本文件轉換成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命令。
語法
1dos2unix [-hkqV] [-c convmode] [-o file ...] [-n infile outfile ...]
選項
1-k:保持輸出文件的日期不變
2-q:安靜模式,不提示任何警告信息。
3-V:查看版本
4-c:轉換模式,模式有:ASCII, 7bit, ISO, Mac, 默認是:ASCII。
5-o:寫入到源文件
6-n:寫入到新文件
參數
參數:需要轉換到文件。
實例
最簡單的用法就是dos2unix直接跟上文件名:
1dos2unix file
如果一次轉換多個文件,把這些文件名直接跟在dos2unix之後。(注:也可以加上-o
參數,也可以不加,效果一樣)
1dos2unix file1 file2 file3
2dos2unix -o file1 file2 file3
上面在轉換時,都會直接在原來的文件上修改,如果想把轉換的結果保存在別的文件,而源文件不變,則可以使用-n
參數。
1dos2unix oldfile newfile
如果要保持文件時間戳不變,加上-k
參數。所以上面幾條命令都是可以加上-k
參數來保持文件時間戳的。
1dos2unix -k file
2dos2unix -k file1 file2 file3
3dos2unix -k -o file1 file2 file3
4dos2unix -k -n oldfile newfile
轉換當前目錄下所有文件
1find -type f | xargs dos2unix
來源:https://github.com/jaywcjlove/linux-command
最後修改於: Wednesday, January 31, 2024
版權申明:
- 未標註來源的內容皆為原創,未經授權請勿轉載(因轉載後排版往往錯亂、內容不可控、無法持續更新等);
- 非營利為目的,演繹本博客任何內容,請以'原文出處'或者'參考鏈接'等方式給出本站相關網頁地址(方便讀者)。