一般情況下,windows下編輯過的文件在Linux下用vi打開行尾會多出一個^M符號,如下圖:
這是因為Windows等操作系統用的文本換行符和UNIX/Linux操作系統用的不同,Windows系統下輸入的換行符在UNIX/Linux下不會顯示為“換行”,而是顯示為 ^M 這個符號(這是Linux等系統下規定的特殊標記,占一個字符大小,不是 ^ 和 M 的組合,打印不出來的)。 可以使用下面幾種方法處理: 1.使用vi的替換功能。啟動vi,進入命令模式,輸入以下命令: :%s/^M$//g # 去掉行尾的^M。 :%s/^M//g # 去掉所有的^M。 :%s/^M/[ctrl-v]+[enter]/g # 將^M替換成回車。 :%s/^M//r/g # 將^M替換成回車。
注意:這里的“^M”要使用“CTRL-V CTRL-M”生成,而不是直接鍵入“^M”。
2.如果是xml文件,可以使用xmllint格式化xml文件,去掉^M:
xmllint --format test.xml