Duas abordagens:
sed abordagem:
sed "0,/members/{s/\bmembers */&$host, /}" printer.cfg
-
0,/members/
- intervalo de endereços que ocupa um intervalo de linhas a partir da 1ª linha até a primeira ocorrência demembers
pattern
awk abordagem:
awk -v h=$host '!f && /members /{ $2=sprintf("%8s, %s",h,$2); f=1 }1' printer.cfg
A saída (para ambas as abordagens):
define hostgroup{
hostgroup_name HOSTGROUP ONE
alias Host Group 1 Printers
members foo0, foo1, bar2, foo2, bar3
}
define hostgroup{
hostgroup_name HOSTGROUP TWO
alias 2nd Host Group
members example1, example3, example2
}