lunes, 14 de julio de 2014

Reemplazar string recursivamente y hacer respaldo de archivo - Ameza

Que onda gente!

Pues me topé con la necesidad de reemplazar un string en un directorio, y era necesario hacer un respaldo del archivo.

La solución es la siguiente:

El comando grep busca los archivos que necesitamos, esto para saber cuales archivos tienen el string que estamos buscando. Esto solo lo hago para corroborar que los archivos se hallan modificado.

grep -lr "stringQueSeDeseaCambiar" *

Esto se hace en la carpeta en donde se buscará, incluyendo subcarpetas.

El comando para cambiar el string es sed, y al final el mío quedó de la siguiente manera:

grep -lr "stringQueSeDeseaCambiar" * | xargs sed -i.backup s/'stringQueSeDeseaCambiar'/'stringNuevo'/g

Con este comando, reemplazamos los archivos que contengan el string 'stringQueSeDeseaCambiar' por 'stringNuevo', y creamos un archivo con terminación .backup.

Estoy seguro que se puede optimizar de alguna manera, así que no dudes en dejar tu comentario.

Saludos!

No hay comentarios:

Publicar un comentario