I've never seen sed behave like this but I'm trying to replace all instances of "nameserver" within /etc/resolv.conf with my own 3 entries, including the "nameserver". Every combo I've tried adds my 3 entries twice, so I have 6 entries.
sed -i 's/.*nameserver.*/nameserver 10.1.1.1\nnameserver 10.1.1.2\nnameserver 10.1.1.3/g' /etc/resolv.conf
which outputs
nameserver 10.1.1.1
nameserver 10.1.1.2
nameserver 10.1.1.3
nameserver 10.1.1.1
nameserver 10.1.1.2
nameserver 10.1.1.3
So, the correct order and entries but adding it twice. I've also tried narrowing it down to nameserver and ip but still get the same output printed twice.
sed -i "s/^nameserver [0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/nameserver 10.1.1.1\nnameserver 10.1.1.2\nnameserver 10.1.1.3/g"
I'm really confused here and can't seem to get past this. Any help appreciated.
ETA: current resolv.conf
search domain1.net. domain2.net. domaine.com.
nameserver 192.168.1.1
nameserver 192.168.1.2
desired output
search domain1.net. domain2.net. domaine.com.
nameserver 10.1.1.1
nameserver 10.1.1.2
nameserver 10.1.1.3
nameserverin the original, so sed replaces each of them. Does that answer your question?