» » Dividir un fichero grande en varios más pequeños

Dividir un fichero grande en varios más pequeños

Publicado en: Tecnología | 0

Tengo entre manos un volcado de base de datos de más de 1 giga de tamaño. Algo que ni el BBEdit es capaz de tragarse con muchos otros programas abiertos.

Desde Terminal, haciendo un cat y sabiendo lo que buscas puedes ir a la línea que necesitas muy rápidamente:

$ cat fichero.sql | grep cadena_a_buscar

Y las líneas con la ‘cadena_a_buscar’ aparecerán filtradas en la shell de comandos, cmo el Terminal del Mac OS X.

Pero esto no es útil si buscas un tabla en concreto y todo los campos que tenía dentro. Para eso puedes dividir el fichero enorme en otros mucho más pequeños, por tamaño en kilobytes o por líneas. A mi me ha venido mejor dividirlo por líneas, en concreto hacer partes por cada 5 mil líneas.

$ split -l 5000 fichero.sql ficheros_salida

Y te crea cuantos ‘ficheros_salida’ necesite de 5 mil líneas cada uno, tantos ficheros como sean necesarios.

Ya solo debes abrir ficheros más pequeños para encontrar las líneas que buscas todas juntas y sin cargar en memoria tantos datos.

Puedes leer más parámetros del comando split en el manual de tu Terminal o en enlaces como este.

SaludoX

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.