答:為了解決這個問題,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 符號問題的解決
答 為了解決這個問題,linux下專門有兩個工具可以互換windows格式和linux格式,它們分別是dos2unix和unix2dos。比如用下面的命令就可以將檔名為 filename 檔案從windows格式轉換為linux文字格式。正文 在linux下,不可避免的會用vim開啟一些window...
Linux下文字檔案中 M 符號問題的解決
三種行尾格式如下 unix n dos rn mac r 這意味著,如果你試圖把乙個檔案從一種系統移到另一種系統,那麼你就有換行符方面的麻煩。因為ms dos及windows是回車 換行來表示換行,因此在linux下用vim檢視在windows下寫的 行尾後 m 符號。www.2cto.com 在v...