Bash tip: Renombrar masivamente (y III)
En esta ocasión se presentaba algo más peliagudo a priori. Para poneros en situación imaginaos como administradores de un Bind9 con 500 dominios en su poder, no está mal ¿verdad?.
Ahora el problema, por circunstancias ajenas se decide cambiar de proveedor de Internet, con lo que la IP también varía. De un simple vistazo podemos decudir que en cada zona de dominio tenemos (al menos) dos entradas A con la ip que quedará desfasada.
Tenemos dos opciones, editar a mano todos y cada uno de esos archivos y rezar para no equivocarnos al escribir (o copiar&pegar) la nueva IP, o hacerlo como todo geek haría:
# for i in *.hosts; do cat $i | sed 's/111.111.111.111/222.222.222.222/' > $i.new ; rm $i; mv $i.new $i; doneAunque creo que se entiende a simple vista: Para todos los archivos *.hosts buscamos la IP 111.111.111 y la sustituimos por 222.222.222.222 en un archivo temporal .new. Después machacamos los originales.
¡Que la fuerza bash te acompañe!
Actualización: Repasando he encontado otra entrada donde explicaba exactamente lo mismo. Estoy mayor, lo sé :(.
Comentarios
sed -i -e 's-111.111.111.111-222.222.222.222-g' *.hosts
:)
Saludos.Ferdy