- 论坛徽章:
- 0
|
回复 7# fangtong2008
就是把你想要的
{
...........
}
里的东西全部放入sed的模式空间,形成一个多行模式空间.在匹配了{后,直到再匹配}的时候就不停的读入下一行.流程如下:- /{/ ---------当匹配{的时候,
- { -----------这个{是匹配后的动作区间
- :a -------------设定回跳地点,标签a
- N --------------读入下一行.模式空间里的行不停的增加
- /}/!ba; --------------匹配到},也就是跟/{/响应的时候,就不要再跳到标签a了.没有的话,就继续朝回跳,直到读到}为止
复制代码 等到/testxxxxxxxxxx/匹配的时候,处理的是一个多行模式空间.也就是你的
d- efine service{
- host_name test-10.1.1.2
- service_description check_interface_eth1
- check_command check_nrpe!check_eth1
- contact_groups test
- use local-service
- }
复制代码 这一块.每次处理这么一块, 匹配了你想要匹配的东西的时候,就打上注释.没有匹配就不管它直接输出就行了
说白了,这个脚本是以你的define块为单位处理的.懂了不 |
|