Linux 替換^M字符 方法


轉自:http://blog.csdn.net/lhf_tiger/article/details/8203013

真惡心,10X流程產生的csv文件的行位居然有^M字符,害我一直在找報錯原因,真是坑,還好最后我找出來了。一直在用Python,perl是越來越不熟練了。調試花了好久。

替換^M字符
Linux下使用vi來查看一些在Windows下創建的文本文件,有時會發現在行尾有一些“^M”。有幾種方法可以處理。

1.使用dos2unix命令。一般的分發版本中都帶有這個小工具(如果沒有可以根據下面的連接去下載),使用起來很方便:
$ dos2unix myfile.txt
上面的命令會去掉行尾的^M。

2.使用vi的替換功能。啟動vi,進入命令模式,輸入以下命令:
:%s/^M$//g # 去掉行尾的^M。

:%s/^M//g # 去掉所有的^M。

:%s/^M/[ctrl-v]+[enter]/g # 將^M替換成回車。

:%s/^M/\r/g # 將^M替換成回車。

3.使用sed命令。和vi的用法相似:
$ sed -e ‘s/^M/\n/g’ myfile.txt

注意:這里的“^M”要使用“CTRL-V CTRL-M”生成,而不是直接鍵入“^M”。

轉自:http://hi.baidu.com/mofeis/blog/item/23c7b2fb92dc97234e4aea6d.html

在vim的_vimrc文件中把fileformat=unix去掉就可以了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM