我有许多 Icinga 实例的 .cfg 文件,我需要使用 bash 脚本自动删除对特定主机的每个引用。这是一个示例,我需要删除 node2 的主机定义:
define host{
use nonprod-iblade
host_name node1
address node1.mydomain.com
alias 88.88.88.88
}
define host{
use nonprod-iblade
host_name node2
address node2.mydomain.com
alias 88.88.88.88
}
define host{
use nonprod-iblade
host_name node3
address node3.mydomain.com
alias 88.88.88.88
}
我已经尝试过awk '/define host/ {for(i=1; i<=5; i++) {getline; print}}' filename
,但这不包括该define host
行,并且对我正在寻找的节点的引用显然排除了该主机定义块中的所有其他行。帮助?