Linux下文字檔案中 M 符號問題的解決

2021-08-31 12:18:05 字數 736 閱讀 8175

答:為了解決這個問題,linux下專門有兩個工具可以互換windows格式和linux格式,它們分別是dos2unix和unix2dos。比如用下面的命令就可以將檔名為「filename」檔案從windows格式轉換為linux文字格式。

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

Linux下文字檔案中 M 符號問題的解決

三種行尾格式如下 unix n dos rn mac r 這意味著,如果你試圖把乙個檔案從一種系統移到另一種系統,那麼你就有換行符方面的麻煩。因為ms dos及windows是回車 換行來表示換行,因此在linux下用vim檢視在windows下寫的 行尾後 m 符號。www.2cto.com 在v...

Linux下文字檔案中 M 符號問題的解決

三種行尾格式如下 unix n dos rn mac r 這意味著,如果你試圖把乙個檔案從一種系統移到另一種系統,那麼你就有換行符方面的麻煩。因為ms dos及windows是回車 換行來表示換行,因此在linux下用vim檢視在windows下寫的 行尾後 m 符號。www.2cto.com 在v...

Linux下文字檔案中 M 符號問題的解決

答 為了解決這個問題,linux下專門有兩個工具可以互換windows格式和linux格式,它們分別是dos2unix和unix2dos。比如用下面的命令就可以將檔名為 filename 檔案從windows格式轉換為linux文字格式。正文 在linux下,不可避免的會用vim開啟一些window...