En ocasiones surge el problema de limitar a cierto tamaño los archivos para hacer alguna cosa en particular, y para ello existen varias opciones. Ya recordarán un programa muy famoso llamado Hacha (que aun hoy se sigue utilizando), que nos permitía dividir un archivo en varios, estableciendo el tamaño máximo que debía tener cada archivo, o bien, en cuantos archivos querías dividirlo.
En linux contamos con una pequeña herramienta que por default, viene instalada. Se trata del comando split.
Para dividir un archivo en varios de tamaño de 10 mb, sería de la siguiente manera.
$ split -b10m archivo
Y el resultado serían varios archivos nombrados como “aa”, “ab”, etc. Aunque podemos establecer algún prefijo.
$ split -b10m -d archivo archivo. --verbose
Los archivos resultantes tendrán prefijo numérico esta vez, además que verías un poco mas el proceso con --verbose.
Salida: archivo.00 archivo.01 archivo.02 archivo.03
Ayuda de Split
$ split --help Usage: split [OPTION]... [INPUT [PREFIX]] Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when INPUT is -, read standard input. Los argumentos obligatorios para las opciones largas son también obligatorios para las opciones cortas. -a, --suffix-length=N utiliza sufijos de longitud N (por omisión 2) -b, --bytes=TAMAÑO escribe TAMAÑO bytes en cada fichero de salida -C, --line-bytes=BYTES escribe un máximo de BYTES bytes sin cortar líneas -d, --numeric-suffixes utiliza sufijos numéricos en vez de alfabéticos -l, --lines=NÚMERO pone NÚMERO de líneas en cada fichero de salida --verbose print a diagnostic just before each output file is opened --help muestra esta ayuda y finaliza --version informa de la versión y finaliza SIZE may be (or may be an integer optionally followed by) one of following: KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y. Report split bugs to bug-coreutils@gnu.org GNU coreutils home page: <http://www.gnu.org/software/coreutils/> General help using GNU software: <http://www.gnu.org/gethelp/> Report split translation bugs to <http://translationproject.org/team/> For complete documentation, run: info coreutils 'split invocation'
Actualización: 14 de Octubre del 2010
La unión de los archivos generados por split se realiza mediante cat.
cat archivo.* > archivo