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