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

 Usage: split [OPTION]... [FILE [PREFIX]]
 Output pieces of FILE to PREFIXaa, PREFIXab, ...;
 default size is 1000 lines, and default PREFIX is 'x'.

 With no FILE, or when FILE is -, read standard input.

 Mandatory arguments to long options are mandatory for short options too.
   -a, --suffix-length=N   generate suffixes of length N (default 2)
       --additional-suffix=SUFFIX  append an additional SUFFIX to file names
   -b, --bytes=SIZE        put SIZE bytes per output file
   -C, --line-bytes=SIZE   put at most SIZE bytes of records per output file
   -d                      use numeric suffixes starting at 0, not alphabetic
       --numeric-suffixes[=FROM]  same as -d, but allow setting the start value
   -e, --elide-empty-files  do not generate empty output files with '-n'
       --filter=COMMAND    write to shell COMMAND; file name is $FILE
   -l, --lines=NUMBER      put NUMBER lines/records per output file
   -n, --number=CHUNKS     generate CHUNKS output files; see explanation below
   -t, --separator=SEP     use SEP instead of newline as the record separator;
                             '\0' (zero) specifies the NUL character
   -u, --unbuffered        immediately copy input to output with '-n r/...'
       --verbose           print a diagnostic just before each
                             output file is opened
       --help     display this help and exit
       --version  output version information and exit

 The SIZE argument is an integer and optional unit (example: 10K is 101024).
 Units are K,M,G,T,P,E,Z,Y (powers of 1024) or KB,MB,... (powers of 1000).

 CHUNKS may be:
   N       split into N files based on size of input
   K/N     output Kth of N to stdout
   l/N     split into N files without splitting lines/records
   l/K/N   output Kth of N to stdout without splitting lines/records
   r/N     like 'l' but use round robin distribution
   r/K/N   likewise but only output Kth of N to stdout

 GNU coreutils online help: http://www.gnu.org/software/coreutils/
 Full documentation at: http://www.gnu.org/software/coreutils/split
 or available locally via: 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
 

Jorge Hernandez :: http://jorgeluis.com.mx

    Real ProgrammersY tu, eres linuxero ? :: Tuxteno Podcast