57 利用sed處理windows和Unix文檔中的行結束符

來源:互聯網
上載者:User

標籤:sed   斷行符號   換行   

UNIX和DOS/Windows系統的純文字格式的換行方式是不同的,基於DOS/Windows的文字檔在每一行末尾有一個CR(斷行符號)和LF(換行),而UNIX文本只有一個換行。
如果想將一個Unix文本轉換為Windows文本,可以使用如下的sed命令列
sed -e ‘s/$/\r/‘ myunix.txt > mywin.txt
在該指令碼中,‘$‘規則運算式將與行的末尾匹配,而‘\r‘告訴sed在其之前插入一個斷行符號。在換行之前插入斷行符號,立即,每一行就以CR/LF結束。
雖然很多程式不在乎DOS/Windows格式的CR/LF文字檔,但是有幾個程式卻在乎,最著名的是bash,只要一遇到斷行符號,它就會出問題。
如果想將一個Windows文本轉換Unix檔案,可以使用如下的sed命令列:
sed –e ‘s/.$//‘ mywin.txt > myunix.txt
替代規則運算式與一行的最末字元匹配,而該字元恰好就是斷行符號。我們用Null 字元替換它,從而將其從輸出中徹底刪除。 
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.