jueves, 27 de enero de 2011

Remplazar un texto de un arhivo en linux con el comando sed

Cuando tenemos archivos de texto, csv y otros que son demasiado pesados, es un martirio intentar abrirlos con un editor, llamese excel, spreed sheet de open offices u otro similar ya que con los miles o millones de registros tardariamos mucho en solo abrirlos ahora ni imaginar en remplazar una palabra, para evitar todo esto buscando en internet y con ayuda de "Beto" me tope con el comando "sed" que es una maravilla.

Vamos al grano:

Para evitar abrir el archivo y tener que editar a mano, desde consola podemos utilizar el comando de la siguiente forma:

alex@alex-dev:/tmp$ sed -e 's/palabra_a_buscar/palabra_remplazo/g' archivo_origen.csv > archivo_final.csv

DE esta forma vemos un ejemplo concreto en el cual cambiaremos la palabra NULL por TEST, cabe señalar que: "alex@alex-dev:/tmp$" es mi terminal NO ES PARTE DEL COMANDO!!!

ahora si veamos el ejemplo:

alex@alex-dev:/tmp$ sed -e 's/NULL/TEST/g' archivo_origen.csv > archivo_final.csv

y de esta forma abremos remplazado todas esas plabras de ese pesado archivo, para concer mas acerca de la sintaxys hay que ver el man del comando y leer un poco acerca de expresiones regulares.

No hay comentarios: