在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
tr -d "\r"
(5)最後一個方法是本人最常用的方法,個人覺得最方便
在終端下敲命令:
$ dos2unix filename
直接轉換成unix格式,就OK了!~
在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
tr -d "\r"
(5)最後一個方法是本人最常用的方法,個人覺得最方便
在終端下敲命令:
$ dos2unix filename
直接轉換成unix格式,就OK了!~