vim批量清理^M
问题:
该问题是由于将Window 系统中的文件拷贝到Ubuntu 系统下,文件中行首和行尾会多出^M
解决方案:
在Vim中解决这个问题,很简单,在Vim中利用替换功能就可以将“^M”都干掉,
- 键入如下替换命令行:
vim -b setup.sh
在命令编辑行<就是: 按ESC键 然后shift+:冒号>输入:%s/^M//g
注意:上述命令行中的“M”符,不是“”再加上“M”,而是由“Ctrl+v”、“Ctrl+M”键生成的。这样替换掉以后,保存就可以执行了。
当然还有其他的替换方式比如:
- 一些linux版本有 dos2unix 程序,可以用来祛除^M。
- cat filename1 | tr -d "r" > newfile 去掉^M生成一个新文件,还有sed命令等,凡是可以替换的命令都是可以用来新生成一个文件的。
按照上面所说的,删除^Mshell脚本就运行正常,后来问同事,原来他windows记事本中修改了程序路径,导致每一行多出了 ^ M