DOS/Windows和Linux/Unix間檔案格式轉換--include.h:????????的解決方案

來源:互聯網
上載者:User
  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

   
該指令碼的工作原理很簡單:替代規則運算式與一行的最末字元匹配,而該字元恰好就是斷行符號。我們用Null 字元替換它,從而將其從輸出中徹底刪除。如果使用該指令碼並
注意到已經刪除了輸出中每行的最末字元,那麼,您就指定了已經是 UNIX格式的文字檔。也就沒必要那樣做了!

    2 )、把Linux/UNIX文本移至 Windows系統,使用以下指令碼執行必需的格式轉換:

    $ sed -e 's/$//r/' myunix.txt > mydos.txt

    在該指令碼中,'$' 規則運算式將與行的末尾匹配,而 '/r' 告訴 sed在其之前插入一個斷行符號。在換行之前插入斷行符號,立即,每一行就以 CR/LF結束。請注意,僅當使用 GNU sed 3.02.80或以後的版本時,才會用 CR 替換 '/r'.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.