您好,登錄后才能下訂單哦!
在windows下編輯的文件,在Linux下使用vim打開有時會出現^M符號。
本節內容參考[1]
vim被配置為fileformat=unix,而你打開的文件都是dos格式的。unix格式的換行符為0A(ascii碼)也就是<LF>,dos格式的換行符為 0D 0A(也就是<CR><LF>),<CR>其實就顯示為^M。
回想計算機的史前史,那時的打字機使用兩個字符來開始一個新行。首先是一個字符命令使打印頭移回開始位置(回車,<CR>),然后另一個字符命令控制向前進紙一行(進紙,<LF>).
在計算機誕生之初,存儲設備十分昂貴。于是有人就提出沒有必要用兩個字符來表示一行的結束:
這也意味著如果把文件從一個系統移到另一個不同的系統,你就會遇到與換行相關的問題.
今天無意中發現去除^M的好辦法:
sed -i "s/\s*$//g" filename
sed -i "s/\s*$//g" `ls`
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。