去掉linux文字檔案中的 ^M 符號

tolywang發表於2016-04-27
      在linux下,不可避免的會用VIM開啟一些windows下編輯過的文字檔案。我們會發現檔案的每行結尾都會有一個^M符號,這是因為 DOS下的編輯器和Linux編輯器對檔案行末的回車符處理不一致, 
對於回車符的定義: 
windows:0D0A 
unix\linux: 0A 
MAC: 0D 
比較快捷的去除這些符號的方法有這麼幾種: 
(1)是用VI的命令: 
    使用vi開啟文字檔案 
    vi dos.txt 
    命令模式下輸入 
    :set fileformat=unix 
    :w 
(2) VI下使用正規表示式替換 
   g/\^M/s/\^M// 
    或者 
   %s/^M//g 
(3)使用sed 工具 
    sed ’s/^M//’ filename > tmp_filename 
(4)既然window下的回車符多了‘\r’,那麼當然透過刪除‘\r’ ,也可以實現: 
    tr -d '\r' 
(5)最後一個方法是本人最常用的方法,個人覺得最方便 
    在終端下敲命令: 
    $ dos2unix filename 
    直接轉換成unix格式,就OK了!~  

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-2089122/,如需轉載,請註明出處,否則將追究法律責任。

相關文章