Tente:
sed -i 's/DNS1=.*/DNS1="8.8.8.8"/' /etc/sysconfig/network-scripts/ifcfg-eth0
O operador *
significa "corresponde ao caractere anterior 0 ou mais vezes". No seu exemplo, o caractere precedente é =
, portanto, ele corresponderá a DNS1=
e nada mais, pois não há mais caracteres =
sequenciais e substitua essa parte por DNS1="8.8.8.8"
, que gera a string DNS1="8.8.8.8""10.10.2.2"
, como você disse.
O operador .
significa "qualquer caractere" em sed
context, que é provavelmente o que você deseja aqui. Essa variação corresponderá a DNS1=
e, em seguida, "qualquer caractere 0 ou mais vezes" até o final da linha e, em seguida, substituirá por DNS1="8.8.8.8"
.