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