zoukankan      html  css  js  c++  java
  • linux sed在某些字符串的下一行插入内容?sed在下一行插入?

    需求描述:

      今天在配置nrpe的时候,使用到了在搜索到某些字符串之后,然后在字符串的下一行进行插入字符串

      在此记录下如何实现.

      即通过sed的a命令实现内容的追加.

    操作过程:

    1.查看原文件中的内容

    [root@testvm02 ~]# cat nrpe.cfg 
    #command[check_users]=/usr/local/nagios/libexec/check_users -w $ARG1$ -c $ARG2$
    #command[check_load]=/usr/local/nagios/libexec/check_load -w $ARG1$ -c $ARG2$
    #command[check_disk]=/usr/local/nagios/libexec/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
    #command[check_procs]=/usr/local/nagios/libexec/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$

    2.通过sed实现在搜索到某个字符串之后,在下一行插入字符串

    [root@testvm02 ~]# sed -i '/#command[check_procs]/acommand[check_disk]=/usr/local/nagios/libexec/check_disk -w 15\% -c 10\% -p / -C -w 15\% -c 10\% -p /mnt' nrpe.cfg 
    [root@testvm02 ~]# cat nrpe.cfg 
    #command[check_users]=/usr/local/nagios/libexec/check_users -w $ARG1$ -c $ARG2$
    #command[check_load]=/usr/local/nagios/libexec/check_load -w $ARG1$ -c $ARG2$
    #command[check_disk]=/usr/local/nagios/libexec/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
    #command[check_procs]=/usr/local/nagios/libexec/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$
    command[check_disk]=/usr/local/nagios/libexec/check_disk -w 15% -c 10% -p / -C -w 15% -c 10% -p /mnt   #黄色是原字符串,蓝色是要插入的字符串,红色表示的是在匹配的字符串的下一行插入

    另,a后面的可以不需要:

    sed -i '/#command[check_procs]/a command[check_disk]=/usr/local/nagios/libexec/check_disk -w 15\% -c 10\% -p / -C -w 15\% -c 10\% -p /mnt' nrpe.cfg
    [root@testvm03 etc]# sed -i '/#command[check_procs]/a command[check_disk]=/usr/local/nagios/libexec/check_disk -w 15\% -c 10\% -p / -C -w 15\% -c 10\% -p /mnt' nrpe.cfg 
    [root@testvm03 etc]# cat nrpe.cfg | tail -n 5
    #command[check_users]=/usr/local/nagios/libexec/check_users -w $ARG1$ -c $ARG2$
    #command[check_load]=/usr/local/nagios/libexec/check_load -w $ARG1$ -c $ARG2$
    #command[check_disk]=/usr/local/nagios/libexec/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
    #command[check_procs]=/usr/local/nagios/libexec/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$
    command[check_disk]=/usr/local/nagios/libexec/check_disk -w 15% -c 10% -p / -C -w 15% -c 10% -p /mnt  #也实现了同样的目的.

    注意:这里没有s/原/新/的方法,也就是没有s这个参数,并且最后没有/.

    文档创建时间:2018年8月2日18:48:24

    第1次修改:2018年8月3日17:42:02  修改内容:在搜索到内容之后,追加数据到下一行,a后面不需要反斜杠.

  • 相关阅读:
    iOS 关于第三方键盘
    linux分期挂载永久生效
    linux echo 用法 【 -e c 体会】
    expr index
    tail -f 不好用? 用法小解析
    【Linux】su
    Linux 下mv命令使用 目标目录不存在时会更名被目标目录并放在/目录下
    Java一点笔试题【2016-04-13】
    Linux 上重启tomcat 【转】 http://www.cnblogs.com/tovep/articles/2473147.html
    Oracle Merge into [转] [ http://www.cnblogs.com/dongsheng/p/4384754.html]
  • 原文地址:https://www.cnblogs.com/chuanzhang053/p/9409196.html
Copyright © 2011-2022 走看看