Я ищу определенную строку и добавляю серию строк, следующих за ней.У меня сейчас есть команда sed:
sed -i "
/CLIENTVERSION/ {
n
a\define service{
a\ use generic-service
a\ host_name $var_hostname
a\ service_description NSCLient++ Version
a\ check_command check_nt!CLIENTVERSION
a\ }
}" windows.cfg;
Файл windows.cfg содержит определения служб для конкретных хостов.(Хосты SBS и Test1 уже находятся в файле, и Test2 - это вывод после выполнения моей команды. Мой вывод:
define service{
use generic-service
host_name sbs
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION
}
define service{
use generic-service
host_name Test2
service_description NSCLient++ Version
check_command check_nt!CLIENTVERSION
}
define service{
use generic-service
host_name Test
service_description NSCLient++ Version
check_command check_nt!CLIENTVERSION
}
define service{
use generic-service
host_name Test2
service_description NSCLient++ Version
check_command check_nt!CLIENTVERSION
}
И я хочу:
define service{
use generic-service
host_name sbs
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION
}
define service{
use generic-service
host_name Test2
service_description NSCLient++ Version
check_command check_nt!CLIENTVERSION
}
define service{
use generic-service
host_name Test
service_description NSCLient++ Version
check_command check_nt!CLIENTVERSION
}
Я думал, чтопараметр / g сделал это, но я не установил его, и я не уверен, почему он добавляет определение сервиса "Test2" дважды.