Como dividir un archivo de texto demasiado grande
|Algunas veces resulta muy molesto trabajar con archivos de texto demasiado grandes, ya que para visualizarlos el sistema debe cargar el archivo completo en la memoria de nuestra maquina, si estamos trabajando con archivos de 10 millones de lineas en adelante, al abrirlo este consumira demasiada memoria y hará que nuestro sistema colapse por completo.
Para solucionar este incomodo problema, los entornos unix traen una utilidad llamada split, la cual nos ayuda como su nombre lo indica a dividir o partir un archivo de texto el cual sea demasiado grande.
La sintaxis de split es:
split [parámetros opcionales] [archivo de entrada] [archivo de salida]
Entre los parámetros tenemos:
- -l -> numero de lineas en las que se va a dividir o partir el archivo por defecto son 1000
- -b -> divide el archivo no por lineas, sino por tamaño (expresado en bits)
- -b k n -> divide el archivo no por lineas, sino por tamaño (donde n es un multiplo de 1024 bytes)
Después de los parámetros, le damos el archivo de entrada y un nombre de salida, hay que aclarar que el archivo de salida tendrá la siguiente notación:
nombrea nombreb nombrec nombred nombree nombref etc……
Algunos ejemplos:
split -l 5000 diccionario.txt parte-
Esta sentencia me arrojara lo siguiente:
parte-a parte-b parte-c hasta que el archivo quede completamente dividido-
Algo muy sencillo pero util, trabajar con backups o archivos de textos que este en el orden de los millones. Por ultimo si alguien posteriormente desea pegar las partes lo puede hacer muy facilmente usando cat.
cat parte-a parte-b parte-c > todocompleto.txt
Justo lo que estaba buscando. Gracias por la ayuda!