在匹配的行后面插入一行:

sed -i '/匹配行pattern/a\新插入的行'

新插入的行或者匹配行如果有特殊字符,记得转义。

也可以是:

sed -i '/匹配行pattern/a 新插入的行'

如果要在匹配的行前面插入一行,把a命令改成i命令即可。

演示:

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\]/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@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

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

sed在匹配行前面或者后面插入一行相关推荐

  1. sed删除匹配行的上一行和下一行

    1.删除匹配行的上一行和下一行: sed -i -e '/string/{n;d}' -e '$!N;/\n.*string/!P;D' file 2.sed中使用变量,删除匹配行的上一行和下一行: ...

  2. 使用sed删除匹配行的上一行和下一行

    1.删除匹配行的上一行和下一行: sed -i -e '/string/{n;d}' -e '$!N;/\n.*string/!P;D' file 2.sed中使用变量,删除匹配行的上一行和下一行: ...

  3. sed 删除匹配行的前后行

    2019独角兽企业重金招聘Python工程师标准>>> 删除匹配行的前后行 删除匹配行的下一行 sed -ne 'p;/niyaopipeideneirong/n' nidewenj ...

  4. sed在匹配行前面添加注释# ,或者取消注释#

    测试文件: cat iptables22.txt -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m tcp --dport ...

  5. sed 删除匹配行的指定字符串

    这里以nginx配置文件为例,修改日志格式. log_format main '$remote_addr - $remote_user [$time_local] "$request&quo ...

  6. Sed 删除匹配行,匹配的字符用Shell变量替换,且变量里含有斜杠“/”时,无法删除 解决办法

    原文链接: https://zhidao.baidu.com/question/2138070399877009148.html 修改语法,用#代替",这个只能用在sed的s替换命令中,如: ...

  7. LINUX使用sed删除匹配行

    具体来说: TEXT=ts-office.desktop FILE=mimeapps.list sed -i "/${TEXT}/"d ${FILE} 当然,两个变量也可以直接写进 ...

  8. linux bash shell sed 删除匹配行

    [yeqiang@harbor tmp]$ cat a.txt aaa bbb ccc [yeqiang@harbor tmp]$ sed -i '/aaa/d' a.txt [yeqiang@har ...

  9. sed按照匹配删除某些行

    2018/04/08 http://www.linuxdown.net/install/faq/20160603_how_linux_5774.html 删除匹配之后的5行,+5d,一共是6行. 查看 ...

最新文章

  1. 暗夜ト星ノ冥土馆~ぷにゅぷりXX 汉化补丁
  2. mybaits九:自定义结果映射规则
  3. linux禁止客户端上传文件_实战 FastDFS Java 客户端上传文件
  4. 时间序列里面最强特征之一
  5. can connect mysql not server_MySQL -- 配置文件my.cnf 的详细说明
  6. linux下测试权限,Linux下进程权限分析
  7. Module-Zero之组织单元(OU)管理【新增】
  8. 修复微商城提交购物车时部分手机号码不识别
  9. python 阿里云短信接口_阿里云短信接口怎么使用
  10. Net Core 实现谷歌翻译ApI 免费版
  11. 关于NAND Flash调试的一点总结
  12. 利用python爬虫程序爬取豆瓣影评
  13. 基于J2EE的线上打印平台
  14. Mysql中从零点到当前时刻的SQL判断
  15. emacs python_将Emacs打造成强大的Python代码编辑工具
  16. VS2008SP1的MFC测试-(OFFICE2007风格)Ribbon风格(DJ尐舞图形画板2008)
  17. java怎么绘画坦克_坦克游戏教程一:使用java绘图功能绘制简单坦克
  18. 《GitHub详细教程》
  19. Android9.0以上系统安装Edxposed
  20. 积米:化妆找吉米,逛街找积米

热门文章

  1. Switch开关控件.
  2. redis-短信手机号码频次限制
  3. 计算机图像双曲线的代码,计算机图形学(二)输出图元_6_OpenGL曲线函数_5_其他曲线...
  4. mxGraph 滚轮缩放
  5. 揭秘!最快大数乘法运算
  6. 批量爬取巨潮资讯网中“贵州茅台”相关公告的PDF文件。
  7. 反需求函数和边际收益_边际收益和需求价格弹性_微观经济学
  8. 程序员推荐的最简单有效的科学健脑…
  9. 食品检测实验室对环境有哪些要求
  10. 张勇卸任,接班人不是蒋凡