- 单个文件替换:
-
- vim:
-
- 全局替换:%s/Oldstring/Newstring/g
- 生成新行:%s/Oldtring/Newstring\r/g
- sed:
-
- sed -i 's/Oldstring/Newstring/g'
//-i, 改变原文件。-e, 不改变原文件 - 生成新行: %s/Oldstring/Newstring\n/g
- sed -i 's/Oldstring/Newstring/g'
- 多个文件替换
-
- find . -name "*.[c|h]" | xargs sed -i 's/Oldstring/Newstring/g'
- 将多个文件中的Windows结尾符号^M替换为Linux的回车换行符
-
- 如果^M不明显:(直接打开文件看不到,但是diff看得到)
-
- find . -name ".c|h" | xargs fromdos
- ububtu 用fromdos,其他Linux可能用dos2unix
- 如果^M很明显:(直接用vim打开就看得到)
-
- find . -name ".[c|h]" | xargs sed -i 's/^M/\n/g'
在Mac下文本替换用sed无效,需要用Perl
find . -name "CMVideoSampling.mm" | xargs perl -pi -e 's/gl\.h/glext\.h/g'