Tenho um programa que executará um conjunto de comandos em novas instalações de servidor e preciso alterar uma entrada em um arquivo para cada instalação. Precisamos alterar o DNS padrão de 127.0.0.X (que é o padrão, pois instala sem uma conexão com a Internet) para 8.8.8.8
Eu estava usando o seguinte comando:
sudo awk '{sub(/#DNS=/,"DNS=8.8.8.8")}' /etc/systemd/resolved.conf
no entanto, isso não parece estar funcionando no gawk/nova versão do sistema operacional.
sudo gawk '{gensub(/#DNS=/,"DNS=8.8.8.8")}' /etc/systemd/resolved.conf
O que estou fazendo errado? Existe uma maneira melhor de alterar a entrada DNS padrão?
Sistema operacional do servidor atual:Ubuntu 24.04.2-live-server
Sistema operacional do servidor anterior:Ubuntu 20.04.6-live-server
EDITAR:
Arquivo de entrada de linha de amostra:
#DNS=
#FallbackDNS=
#Domains
O comando deve encontrar a primeira linha acima e substituí-la por DNS=8.8.8.8
"mas não é".
Saída desejada:
DNS=8.8.8.8
#FallbackDNS=
#Domains
Quando executo o comando awk, o arquivo ainda lê:
#DNS=
#FallbackDNS=
#Domains
Além disso, ele deve encontrar e substituir apenas uma correspondência exata de#DNS=
Qual comando e sintaxe substituirão #DNS=
por DNS=8.8.8.8
?