Мне нужна помощь седовского гуру.Мне нужно изменить содержимое /etc/hosts
, чтобы удалить все строки, содержащие foo.bar
, кроме тех, которые начинаются с 127.0.0.1
.
Я пробовал с sed -i '' "/127.0.0.1/p;/foo.bar/d"
, но это удваивает количество 127.0.0.1 localhost
строк при каждом запуске.
Данный файл:
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
127.0.0.1 console-dev.foo.bar
192.168.64.22 apiserver.foo.bar console.foo.bar
Ожидаемый файл:
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
127.0.0.1 console-dev.foo.bar
Текущий вывод:
127.0.0.1 localhost
127.0.0.1 localhost
127.0.0.1 localhost
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
127.0.0.1 console-dev.foo.bar
Любой сед Гуру готов помочь?