Chinaunix首页 | 论坛 | 博客
  • 博客访问: 407611
  • 博文数量: 119
  • 博客积分: 25
  • 博客等级: 民兵
  • 技术积分: 1061
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-14 12:48
个人简介

醉心于技术。

文章分类

全部博文(119)

文章存档

2018年(34)

2016年(1)

2015年(4)

2014年(6)

2013年(74)

我的朋友

分类: 系统运维

2014-12-12 16:09:49

为NAGIOS添加service,或者删除service。我们都会遇到service定位的问题。比如,要在某个service下添加一个新的service;删除指定的service等。因为service并非单行,而是多行,单独使用sed无法完成任务。

最好的解决办法是:使用tr先把配置文件的内容变为单行,然后再用sed删除单行中一个service的字段。例如:

点击(此处)折叠或打开

  1. cat hostnames_service.cfg | tr '\n' '%' | sed 's/define service *{[^}]*PATTERNS[^}]*}//' | tr '\n' '%'
这里,PATTERNS是service特有的字段,多为service的名称。[^}]中,}不用转义。使用%代替换行符,然后再替换回来,可以很好的删除对应的service。

阅读(9215) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~