出现^M的原因:
Window系统中用/r/n
来表示换行,linux中用/n
来表示换行,Windows的文本文件,直接拿到linux中使用可能会会出错,因为多出了“/r”字符,这就是我们看到的^M。
解决方案:
1.使用正则表达式删除
在命令模式(vim)下输入 :%s/^M//g 然后回车即可替换 ,注意,这里的”^M”的输入是通过"Ctrl+v"、"Ctrl+M"键生成的
2.使用命令删除
使用vim打开文本文件 ,命令模式下输入 :set fileformat=unix 即可,然后保存(:wq)、退出
3.使用sed 工具
sed ’s/^M//’ filename > tmp_filename
4.在终端下敲命令:
$ dos2unix filename