文本替换

来源:互联网 发布:电脑打不开淘宝网址 编辑:程序博客网 时间:2024/04/29 16:53
  • 单个文件替换:
    • vim:
      • 全局替换:%s/Oldstring/Newstring/g
      • 生成新行:%s/Oldtring/Newstring\r/g
    • sed:
      • sed -i 's/Oldstring/Newstring/g'  //-i, 改变原文件。-e, 不改变原文件
      • 生成新行: %s/Oldstring/Newstring\n/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'

0 0