Reemplazar texto en archivo utilizando la consola linux

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

 

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.

 

 

 

Dejar un comentario