Reemplazar texto en archivo utilizando la consola linux

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn

APUNTES | Reemplazar texto en archivo utilizando la consola linux

En ocasiones tenemos que buscar y reemplazar determinada cadena de texto en un archivo. Es fácil de hacer con cualquier editor tipo notepad, gedit, xed, etc. Sin embargo, cuando el archivo llega a pesar varios megas la tarea puede convertirse en imposible.

Un ejemplo típico de este tipo de archivos puede ser el volcado SQL de una Base de Datos. Imaginemos que vamos a migrar un sitio de dominio, de garberinformatica.es a garberinformatica.com. Para ello tendremos que cambiar todas las ocurrencias de «garberinformatica.es» por «garberinformatica.com» del SQL antes de importar el archivo a la base datos.

Podemos utilizar la consola de linux para realizar esta tarea de forma rápida sin llegar a cargar en memoria el archivo de texto.

El siguiente comando reemplaza la palabra garberinformatica.es por garberinformatica.com en el archivo pruebas.sql

$ sed -i 's/garberinformatica.es/garberinformatica.com/g' pruebas.sql

 

Explicación:

  • sed: Stream EDitor
  • -i : in-place, en el lugar
  • s: comando sustituir
  • garberinformatica.es: cadena origen, a reemplazar
  • garberinformatica.com: cadena destino
  • g: global, reemplaza todas las ocurrencias de la cadena origen por destino
  • pruebas.sql: archivo de texto en el que buscar y reemplazar

 

En apenas unos segundos, dependiendo del archivo y la potencia del equipo utilizado, habremos reemplazado el texto.

 

Espero que os sea de tanta utilidad como a mi.

 

 

 

Más...

Portada SmartMaterials3d

Tienda online y Blog SmartMaterials3d

En garberinformática hemos creado la nueva versión de la tienda online SmartMaterials3d. SmartMaterials3d es uno de los principales fabricantes nacionales de filamentos

Más...

Portada SmartMaterials3d

Tienda online y Blog SmartMaterials3d

En garberinformática hemos creado la nueva versión de la tienda online SmartMaterials3d. SmartMaterials3d es uno de los principales fabricantes nacionales de filamentos

Deja un comentario