En Unix, ¿cómo puedo dividir archivos de gran tamaño en una serie de archivos pequeños?

0
892

Para dividir archivos de gran tamaño en archivos más pequeños en Unix, utiliza el comando split. En el prompt de Unix, escribir:

  • split [opciones] nombre_archivo prefijo

Donde:

  • nombre_archivo es el archivo de gran tamaño que desea dividir.
  • prefijo es el nombre que se desea dar a los pequeños archivos de salida.
  • opciones se puede excluir o, sustituirla por una de las siguientes opciones:
    • -l linenumber
    • -b bytes


Si utiliza la opción -l ( L minúscula ),  entonces hay que sustituir linenumber con el número de líneas que desea en cada uno de los archivos más pequeños (el valor predeterminado es de 1000).

Si usa la opción -b, sustituir bytes con el número de bytes que se desea en cada uno de los archivos más pequeños.


El comando split, dará a cada archivo de salida que genera el nombre de prefijo con una extensión extra con el fin de indicar su orden.

By default, the split command adds aa to the first output file, proceeding through the alphabet to zz for subsequent files.

Por default el comando split, agrega al primer archivo de salida una doble aa, hasta la zz segun el procedimiento del alfabeto. Si no se especifica un prefijo, entonces la mayoría de los sistemas haran el uso de la letra x.

Ejemplos

  • Supongamos que es mi_archivo contiene 3000 líneas:
    split mi_archivo

    Esto dara como resultado tres archivos de 1000 lineas cada uno de la siguiente manera:
    xaa, xab y xac.

  • Trabajando con el mismo archivo, veamos un ejemplo mas complejo:
    split -l 500 mi_archivo segmento

    La salida de este archivo esta dividido en seix archivos de salida tal como se muestra a continuacion:
    segmentoaa, segmentoab, segmentoac, segmentoad, segmentoae y segmentoaf.

  • Finalmente asumimos que mi_archivo es un archivo de 160KB:
    split-b 40k mi_archivo segmento

    La salida de ejecutar el comando anterior es:
    segmentoaa, segmentoab, segmentoac y  segmentoad.


Para obtener más información del comando split, consulte página del manual
escribiendo:

man split

ó

man csplit

 

 

LEAVE A REPLY

Please enter your comment!
Please enter your name here