windows的文本文件如何轉換成linux的文本文件?

JIAN_2123的分享: 最近使用Ubuntu Linux發現,Windows 下的文本到Linux下可以正常的瀏覽,但是Linux下的文本到Windows下後發現凡是“回車”部分全是“黑塊”,經過一段時間的查詢搜索發現了原因及解決辦法: DOS/Windows和Linux/Unix的文件換行回車格式不同,基於 DOS/Windows 的文本文件在每一行末尾有一個 CR(回車)和 LF(換行),而 UNIX 文本只有一個換行。 1)、把Dos/Windows下的文件移至Linux/Unix系統 雖然很多程序不在乎 DOS/Windows 格式的 CR/LF 文本文件,但是有幾個程序卻在乎 -- 最著名的是 bash,只要一遇到回車,它就會出問題。以下 sed 調用將把 DOS/Windows 格式的文本轉換成可信賴的 UNIX 格式: $ sed -e 's/.$//' mydos.txt > myunix.txt 該腳本的工作原理很簡單:替代規則表達式與一行的最末字符匹配,而該字符恰好就是回車。我們用空字符替換它,從而將其從輸出中徹底刪除。如果使用該腳本並注意到已經刪除了輸出中每行的最末字符,那麼,您就指定了已經是 UNIX 格式的文本文件。也就沒必要那樣做了! 2)、把Linux/UNIX 文本移至 Windows 系統,使用以下腳本執行必需的格式轉換: $ sed -e 's/$/\r/' myunix.txt > mydos.txt 在該腳本中,'$' 規則表達式將與行的末尾匹配,而 '\r' 告訴 sed 在其之前插入一個回車。在換行之前插入回車,立即,每一行就以 CR/LF 結束。請注意,僅當使用 GNU sed 3.02.80 或以後的版本時,纔會用 CR 替換 '\r'。 另外還有個方法: 使用命令 unix2dos filename dos2unix filename 互相轉換,具體抄哪個方向轉不用我詳細說了吧。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章