Soluzione 1:
Preferirei non toccare /etc/hosts
in termini di analisi e simili. Creerei semplicemente una directory chiamata /etc/hosts.d/
e crea uno script che prenda:
- ip
- nome
- alias
crea un (1) file con una (1) riga. Il nome del file sarà <ip>.host
e poi cat /etc/hosts.d/*host > /tmp/hosts.new && mv /tmp/hosts.new /etc/hosts
. Forse aggiungi un incron
evento che guarda il /etc/hosts.d/
directory e rigenera /etc/hosts
ogni volta che succede qualcosa, in questo modo ti libererai anche delle vecchie voci.
Soluzione 2:
Dai un'occhiata ad Augia. Ha un parser/serializzatore già pronto per il file hosts (che è anche nella loro guida rapida) e viene fornito con un semplice strumento per apportare modifiche (augtool).