下每一行的结尾是\n\r,而在linux下文件的结尾是\n,这样window写编辑的shell脚本拷贝到linux下时,每一行的结尾就会多出来一个字符\r,这个\r字符会被显示为^M,
同样原理使用MobaTextEditor...读取从windows传到linux下文件会乱码
解决方法
sed -i 's/\r$//' filename #flename即shell脚本文件名
使用dos2unix,执行相关命令dos2unix...字符查找
/关键字 参数n/ N 向上/下匹配关键字
字符替换
:s/aa/bb # 将光标所在行第一个 aa 替换为 bb
:s/aa/bb/g...# 将光标所在行所有 aa 替换为 bb
:%s/aa/bb/g # 全文执行替换 aa 替换为 bb
:3,10s/aa/bb/g # 将第3行到第10行 aa 替换为 bb
:%s.../\\/\//g # 全文\替换为/ (特殊字符:^、$、*、/、\和.都需要转义,前面加上\)
:%s,\\,/,g # 或用逗号分割(/可以不用转义)
:%s,aa,bb,gic #