Substituindo conteúdo de arquivos no Linux com SED
Exemplo para substituição de servidor NTP no arquivo timesyncd.conf com valor definido a mão:
sed -i 's/^#\?NTP=.*/NTP=172.20.0.1 172.21.0.1/g' /etc/systemd/timesyncd.conf# -i de case insensitive # 's/... para informar ao sed que isso é uma substituição # /^ para informar que o próximo caracter deve estar no início da linha # \?x para informar que x pode existir ou não na busca # . para informar que esse caracter é qualquer um # * para informar que o caractere anterior pode aparecer de 0 (nenhuma) a infinitas vezes.
Imagine que temos o arquivo sed-teste.txt com o seguinte conteúdo
# batata# xatata
Queremos mudar o # batata para batata, então usamos:
sed -i 's/^# *batata.*/batata/g' sed-teste.txt
Referências
Tutorial SED
https://www.cyberciti.biz/faq/how-to-use-sed-to-find-and-replace-text-in-files-in-linux-unix-shell/