Editando una página con REGEXP

Desde hace unos días he estado preparando una página para una niña muy especial (asu!). Pero para eso, necesito algo de ingenio usando REGEXP.¿Recuerdan esas páginas que genera el msgr por cada conversación? Pues pueden pesar unos cuantos MB, pero en realidad, hablamos de muchas líneas de txt. Lo que necesitaba hacer era quitar la hora de cada línea, es decir:

<span class=”time”>(06:52 p.m.)</span>

Como platico mucho con Cristina (demasiado), se genera un archivo de más de 12 000 líneas, unos 2MB, dependiendo de la conversación. Entonces, en vez  de crear un script en BASH(cosa que no quería hacer por flojera y por indio), usé mi editor preferido y amado, a nano. Bueno, manos a la obra.

Primero, hay que habilitar el uso de expresiones regulares (luego digo para qué) en nano, ya que por defecto no lo está. No es la gran cosa. Para eso, debes editar (o crear) el archivo .nanorc, ubicado en tu directorio personal, por comodidad.

cd $HOME

nano .nanorc

Ya dentro del archivo, escribe:

set regexp

Con esto habilitamos el uso de expresiones regulares o REGEXP. Con una regexp podemos aplicar un patrón de búsqueda y reemplazo de caracteres, evitando borrar línea por línea. En mi caso, para borrar la etiqueta de la hora, usé:

\(   .  .   :  .  .  [espacio en blanco]  p  \.  m  \.  \)

Donde:

  • Los “( )” y los “.” son metacaracteres. El punto representa, cualquier caracter.
  • Las “\” le quitan la propiedad a los metacaracteres y ahora, sólo son “caracteres simples”.
  • Los demás caracteres, como “:”, “p”, “m”, sólo forman parte del patrón de búsqueda y reemplazo.

Abrimos el archivo html, primero con Gedit y lo guardamos en UTF-8, y luego con nano:

nano conversacion.html

Bien, ahora sólo realizamos una búsqueda normal con Ctrl + R y en la barra de estado veremos RegExp activado. Introducimos la expresión anterior (dos veces, una para p.m. y otra para a.m.) y reemplazamos con un espacio en blanco.

Listo, todas las líneas han sido reemplazadas. Un gran total de 13 184 líneas en total.

Para saber más:

Expresiones regulares (inglés)

Configuración de .nanorc

logout

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s