miércoles, marzo 12, 2014

Replace en fichero tocho con 'sed'

Si alguna vez te has visto obligado a hacer un 'Replace All' en un fichero de texto grande (> 500MB) sabras que la experiencia es casi religiosa.

El editor de turno se queda colgado al abrir y al reemplazar y no queda dios ni semidios del que no te hayas acordado.

La solucion pasa por usar el comando sed de linux:

sed -i.bak 's/datamart_desa/datamart/' fich.sql

En este ejemplo se reemplaza la cadena "datamart_desa" por "datamart" en el fichero 'fich.sql' generando (por si acaso) un backup con el nombre 'fich.sql.bak'.

En un ejemplo concreto con un fichero de 870MB tarda unos 10sec., ¡una maravilla oiga!

De nada, :D

No hay comentarios: