轉換windows和linux下的文字檔案格式

在windows或dos環境下編輯的文字檔案和在linux或unix環境下編輯的文字檔案,其實在檔字的結構上是有一點點的不同。不同的地方是在於對
於斷行符號的區別,在檔案格式裡linux/unix下分行只有存入一個"0a"的16進位碼,而windows/dos下的分行是會在檔案中寫入"0d
0a",兩個bytes的。也就造成了有時文字檔在處理上的小麻煩。在linux下有專門針對這個問題而出現的兩個小程式:

dos2unix
unix2dos

從名稱上就可以看出他的功能了。其中dos2unix就是把windows/dos的文字檔格式轉換成linux/unix下的。而unix2dos剛好相反。

最簡單的用法就是直接把要轉換的檔名當做參數放進去就好了。


# dos2unix a.txt
or
# unix2dos a.txt

2 則留言:

  1. 以前也用過這兩個 utility. 在我使用的 distro (GNU/Ubuntu) 上它們沒有在 default installation 裏面.
    這頁 search for "dos" 可以看到如何用 sed 來轉換 dos/unix line ending. 提供給你參考.

    回覆刪除
  2. 謝謝您的資訊,原來在Unbuntu的環境下這兩個並不是預設安裝的項目,遇到沒有安裝這兩個工具的時候,我也是用sed或是vim加標準表示來處理的。可惜對一般入門的使用者來說,使用這些組合性的方法,難度相對較高。

    回覆刪除

dnf upgrade fails with Error: GPG check FAILED

 OS: Fedora 36 今天在做  dnf  更新的時候,突然有很多 package 都出現簽章問題無法更新。類似如下的錯誤訊息 .... is not signed. ...... is not signed. ......... is not...