sed скрипитик

Пытаюсь парсить /etc/resolv.conf, также нужно заменить
nameserver 123.123.123.123 на nameserver 321.321.321.321

Вот написал
 sed -e 's/^[^#]*nameserver.*/nameserver 123.123.123.123/' /etc/resolv.conf
Но этот скрипт заменяет все строки, а мне нужно только первую,

Печать определенной строки нашел как делать:
# печать строки 52
sed -n ‘52p’ # способ 1
sed ‘52!d’ # способ 2
sed ‘52q;d’ # способ 3,
Но как это в мой скрипт засунуть непонял.
Вот так смог изменить нужную строку
sed -e '/^#/d' /etc/resolv.conf | sed -e '1s/nameserver.*/nameserver 123.123/'

Но в файл таким образом не записать
И точно также нужно удалить например вторую найденную строку, Как ???
Стоп. Можно поподробнее, зачем в resolv.conf менять один адрес на другой?
Вдруг найдётся способ сделать всё проще, если вы объясните, чего в конечном счёте вы хотите этим добиться?
Пописываю программу, для графической настройки сети. В ней можно настроить:
Static/DHCP,
если выбран Static, то в /etc/rc.conf изменяем параметр address, netmask, gateway - это сделано.
и ввести DNS адреса.
Есть три переменные, которые хранят днс адреса, и их нужно внести в /etc/resolv.conf, возможно я и впавду перемудрил с заменой имеющихся адресов на новые.
Наверное лучше перед записью данных в /etc/resolv.conf его очистить.
Учитывая сложность этого файла (две строчки nameserver $IP , то есть фактически ничего от старого там не останется), последний вариант явно лучше :)
 
Зарегистрироваться или войдите чтобы оставить сообщение.