Remplazar el contenido de múltiples ficheros

Este artículo nos muestra una forma de cómo sustituir un valor viejo por otro nuevo en múltiples ficheros. Todo en una línea de comandos.El comando del ejemplo cambia todas las direcciones 192.168.20.64 por 192.168.10.75 dentro de todos los ficheros que terminan con un número en el directorio actual de forma recursiva.

Nota: Este comando lo hemos utilizado para hacer cambios masivos dentro de la wiki moinmoin. Usted pude variar el filtrado del comando grep y la sustitución de sed según le sea necesario.

Antes de escribir los cambio verificamos los resultados:

find . -type f | grep -E '[0-9]$' | xargs sed -e 's/192.168.20.64/192.168.10.75/g' | less

luego, para escribir los cambios ejecutamos el comando:

find . -type f | grep -E '[0-9]$' | xargs sed -i -e 's/192.168.20.64/192.168.10.75/g'
Anuncios

Acerca de Alain Reguera Delgado

Soy Alain Reguera Delgado, vivo en Cienfuegos una provincia de Cuba, trabajo como administrador de sistemas en algunas redes, utilizo software libre y en ocasiones contribuyo con las comunidades que lo producen.
Esta entrada fue publicada en Informática. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s