linux常用命令(替换)

1. vi 模式下的替换命令:

    s 表示替换(substitute),g表示全局搜索(global search)

 

    :s/vivian/sky/ 替换当前行第一个 vivian 为 sky

    :s/vivian/sky/g 替换当前行所有 vivian 为 sky

 

    :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky

    :n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky

     n 为数字,若 n 为 .,表示从当前行开始到最后一行

     

    :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky

    :%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky

    可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符

 

    :s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/

    :%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1/

2. 替换文件中的字符串内容:

    find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g'

    xargs:find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取

                 的一部分文件,然后是下一批,并如此继续下去。

    perl:perl -pi -e 在Perl 命令中加上-e 选项,后跟一行代码,那它就会像运行一个普通的Perl 脚本那样运行该代码。使用perl不生成转换过程中的中间文件,

               执行起来很快, -i 参数直接原地编辑文件。

    该命令会替换当前目录及子目录下所有符合条件的文件中符合规则的字符串。

 

3. 替换多个文件夹中的字符串:

    sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录`

    -i 参数 :直接在原文件上进行操作

    -f∶直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作;

    -r∶sed 的动作支持的是延伸型正规表示法的语法。(预设是基础正规表示法语法)

     注意:最后面的 "grep 原字符串 -rl 所在目录" 不是用单引号引起来的。而是用键盘中"~"所在键中的"`"引起来的。


      sed 命令可以替换多层目录

转载于:https://www.cnblogs.com/Jtianlin/p/4210680.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值