I am searching for a particular string, and appending a series of lines following it. The sed command i have now is:
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;
The windows.cfg file contains service definitions for specific hosts. ( SBS and Test1 hosts are already in the file, and Test2 is the output after running my command. My output is:
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
}
And I want:
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
}
I thought that the /g option did this, but i haven't instituted it and am uncertain as to why it is adding "Test2" service definition twice.