去掉linux檔案中 M符號方法彙總

2021-06-20 13:40:31 字數 644 閱讀 4881

在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了!~  

去掉 M符號

dos windows使用了一種很愚蠢的方案來結束檔案的每一行 居然使用了兩個符號return linefeed,而unix like os就明智的多,使用乙個newline 就是linefeed 因此,如果在linux下面閱讀dos windows檔案,每一行會顯示乙個討厭的 m,怎麼辦?在vim...

linux下去掉檔案中 M的方法

在windows下編輯檔案,然後放到linux環境。在windows環境下,換行是表示為 r n 0x0d0x0a 而在linux下,換行為 n 在sh指令碼對這類檔案進行處理時,很容易出現意想不到的情況,比如字串的比較。在sh指令碼中,個人使用sed i s r g filename的方式,但存在...

Linux下去掉 M的方法

說到 要去除 m,我們首先 必須明白 這 m從 來的。m 從 來的?windows 和 linux 裡 的乙個 差異 便是 在windows 下 換行 的表示 是用 r n 0a0d 表示的,而在linux 下,只用 n 0d 就可以表示了。因此 將 windows下的檔案 拷貝到 linux下 總...