Linux在vi下的查找替换

Linux在vi中的查找替换

查找方法

  • vi中的查找支持很多种方式,比如向上查找、向下查找、以XX开始的行、以XX结束的行,下面先介绍一下这些控制查找方式的符号说明

  • 特殊符号说明,XX表示待查找的字符串

    符号意义
    /XX向下查找XX
    ?XX向上查找XX
    /^XX向下查找以XX开始的行
    ?^XX向上查找以XX开始的行
    /XX$向下查找以XX结束的行
    ?XX$向上查找以XX结束的行

    这些都是指令需要先按Shift + : 再输入上面指令

    “/” 除了作为向下查找的符号外,同样也是转义字符

    eg://XX表示的不是向下查找以“**XX**”开始的行,而是查找“**XX**”字符串

  • 案例

    • 通过vi redis.conf打开redis的配置文件,如下图

    image-20201105104251322

    • 向下查找所有的Reids字符

      由上图可以看到目前是INSERT状态,下图我已经标出了当前窗口内的Redis位置及光标的位置

      image-20201105104522472

      按ESC,再输入SHIFT + : ,可以看到这里就可以输入查询指令了

      image-20201105104710781

      输入/Redis再按回车开始向下查找,可以发现光标的位置变到了向下查找第一个Redis的前面

      image-20201105104933784

      查找后,可以是使用快捷键 n来进行同方向继续查找,使用N反向继续查找

替换方法

  • 下面代码以将XX替换为YY为例进行介绍,n表示第n行,其余符号均是指令

    符号意义
    s/XX/YY/替换当前行第一个XX为YY
    s/XX/YY/g替换当前行所有XX为YY
    %s/XX/YY/替换所有行的第一个XX为YY
    %s/XX/YY/g替换所有行的所有XX为YY
    n,$s/XX/YY/替换第n行开始到最后一行的第一个XX为YY
    n,%s/XX/YY/g替换第n行开始到最后一行的所有XX为YY
  • 案例

    替换所有行的所有RedissideR

    输入

    %s/Redis/sideR/g
    

    结果为

    image-20201105110219071

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值