我正在尝试使用在配置文件中附加主机名sed
,因为我需要添加多个主机,所以我想自动化它。我遇到以下情况:
示例输入文件:
#######################################################################
#
#Service: System Uptime
#######################################################################
define service{
use generic-service
host_name host1,host2,host3,host4,host5,host6,host7,host8,host9,host10,host11,host12,host13,host14,host15,host16,host17,host18,host19,host20,host21,host22,host23,host24,host25,host26,host27,host28,host29,host30
service_description System Uptime
is_volatile 0
check_period 24x7
contact_groups Test_group
notification_options c,w,r,u
check_command check_nt_uptime
max_check_attempts 3
normal_check_interval 1
retry_check_interval 1
notification_interval 120
notification_period 24x7
}
我试图实现的是将新主机附加到“host_name”行,但是文件中出现了很多“host_name”,因此要将其添加到我搜索过“服务:系统正常运行时间”的特定服务中从那里开始的第 7 行我搜索“host_name”并附加新主机。
我已经完成了我想要使用的操作sed
:
sed '/Service: System Uptime/{N;N;N;N;N;N;N;N;/host_name/s|$|,NewHost|}' input file
现在的问题是,当那里有多个主机时,上面的sed
命令会失败,它会换行并附加主机。
对此有何建议?