解決Linux環境下檔案中的 M如何去除的問題

2021-10-03 18:18:10 字數 468 閱讀 3863

在windows環境下編輯的檔案,上傳到linux後會在檔案中產生^m。尤其是對sh指令碼的執行產生影響。原因:crlf(\r\n)是windows環境下的行尾結束符,lf(\n)linux環境下的行尾結束符,在linux環境下,無法識別windows環境下檔案的行尾結束符引起。

解決辦法:

1、首先通過命令檢視是否存在^m

cat -a
2、通過命令列,執行替換

2.1 方法一

sed -i 's/^m$//g'
在linux的shell中,^m的輸入方法是,按住ctrl+v+m

2.2 方法二

cat | tr -d '\r' >
2.2 方法三

此方法依賴環境變數中能夠找到如下工具

dos2unix

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...