同様の巨大なテキスト ファイルに nagios サービス チェックを追加しようとしています。各ホスト名を (パターンとして) 検索し、4 行の後に新しいサービス チェック ブロックを追加したいと考えました。スクリプトは、host_name が出現するたびに、新しいサービス チェック ブロックを追加できる必要があります。
OR
連続する 2 行で 2 つのパターンを検索し、テキスト ファイル内で出現するたびに、検索された 2 つのパターンの間にテキスト ブロックの下に挿入します。
P1 - notification_options d,r P2 - }
私は sed の基本しか知らないので、助けていただければ幸いです。
define service{
use new
host_name new
active_checks_enabled 0
check_freshness 0
service_description new
check_command new
check_period 24x7
}
define host{
use linux
host_name lotus
alias lotus
address 10.1.1.1
notification_options d,r
}
define service{
use linux
host_name lotus
active_checks_enabled 0
check_freshness 0
service_description Host Alive
check_command check-host-alive
check_period 24x7
}
define service{
use linux
host_name lotus
active_checks_enabled 0
check_freshness 0
service_description CPU
check_command check_cpu!95!100
check_period 24x7
notification_options w,c,r
}
define host{
use linux
host_name palm
alias palm
address 10.1.1.2
notification_options d,r
}
define service{
use linux
host_name palm
active_checks_enabled 0
check_freshness 0
service_description Host Alive
check_command checki_host
check_period 24x7
}
define service{
use linux
host_name palm
active_checks_enabled 0
check_freshness 0
service_description CPU
check_command check_cpu!95!100
check_period 24x7
notification_options w,c,r
}
define host{
use linux
host_name geeko
alias geeko
address 10.1.1.3
notification_options d,r
}
define service{
use linux
host_name geeko
active_checks_enabled 0
check_freshness 0
service_description Host Alive
check_command check_alive
check_period 24x7
}
define service{
use linux
host_name geeko
active_checks_enabled 0
check_freshness 0
service_description CPU
check_command check_cpu!95!100
check_period 24x7
notification_options w,c,r
}