zoukankan      html  css  js  c++  java
  • shell vim 文件查找与替换

    i/vim 文件查找与替换
    替换
    
    语法为:
    :[addr]s/源字符串/目的字符串/[option]
    全局替换命令为:
    :%s/源字符串/目的字符串/g
    [addr]表示检索范围,如:
    
    "1,n":表示从第1行到n行
    "%":表示整个文件,同"1,$"
    ".,$":表示从当前行到文件尾
    
    [addr]省略时表示当前行
    
    s:表示替换操作,其为substitute的缩写
    
    [option] : 表示操作类型,如:
    
    g:globe,表示全局替换
    
    c:confirm,表示进行确认
    
    p:表示替代结果逐行显示(Ctrl + L恢复屏幕)
    
    i:ignore,不区分大小写
    
    [option]省略时仅对每行第一个匹配串进行替换
    
    如果在源字符串和目的字符串中出现特殊字符,如'/','<','>',','等需要前面加反斜杠进行转义
    
     
    
    常用命令示例:
    
    #将当前行第一个a替换为b
    
    :s/a/b/
    
     
    
    #将当前行的所有a替换为b
    
    :s/a/b/g
    
     
    
    #将每行第一个a替换为b
    
    :%s/a/b
    
     
    
    #将整个文件的所有a替换为b
    
    :%s/a/b/g
    
     
    
    #将1至3行的第一个a替换为b
    
    :1,3s/a/b/
    
     
    
    #将1至3行的所有a替换为b
    
    :1,3s/a/b/g
    
     
    
    上面是一些常用的替换,但是我们日常碰到的问题不止这么简单,这就要涉及到一些较为高级的替换操作,会涉及到转义,正则表达式相关的知识,下面是一些例子:
    
    #使用#作为分隔符,此时中间出现的/不会作为分隔符,如:将当前行的字符串"a/"替换为"b/"
    
    :s#a/#b/#
    
     
    
    #找到包含字母a的行并删除
    
    :g/a/d
    
     
    
    #删除所有空行
    :g/^$/d
    
     
    
     #多个空格替换为一个空格
    
    :s/ +/ /g
    
     
    
    #在正则表达式中使用和和符号括起正则表达式,即可在后面使用1,2等变量来访问和和中的内容,如下
    将data1 data2修改为data2 data1
    :s/w+w+s+w+w+/2	1
    1、s/$// 在每一行后面追加空。
    
    2、s为搜索。
    
    如:s/a/b/  
    
    搜索a将替换为b ,并只替换一次。
    
    3、s/ *//g 将空格删除。
    
    4、g代表搜索到的全部替换 。
    
    5、“空格星”( " *") 代理多个空格。
    
    6、/^$/d   删除空行。
    

      

  • 相关阅读:
    hdu 4283 You Are the One ( dp 2012 ACM/ICPC Asia Regional Tianjin Online )
    hdu 4268 Alice and Bob (贪心 2012 ACM/ICPC Asia Regional Changchun Online)
    2sat 讲解
    高斯消元 Java 高精度版 HDU 2449 Gauss Elimination
    poj 3207 Ikki's Story IV Panda's Trick (2sat)
    poj 2723 Get Luffy Out (2 sat + 二分)
    hdu 2604 Queuing (矩阵乘法 求递推式)
    poj 1753 Flip Game (高斯消元 + 枚举 自由变量)
    poj 3683 Priest John's Busiest Day (2sat 模版)
    vs2008新特性
  • 原文地址:https://www.cnblogs.com/gina11/p/14513147.html
Copyright © 2011-2022 走看看