Split and join large binary and text files, using the sfk split command for Windows, Mac OS X and Linux.

to enable transport or archiving on size limited media like usb stick, dvd or cd, or to work around file system limitations.
sfk split partsize inputfile [outputfilebase] [-nov[erify]]

reads and splits inputfile into output files of specified size.
if output files exist already, split asks if it may overwrite;
specify -yes to overwrite outputs without asking.

partsize syntax:
    100000b  ,  100k        = 100000 bytes
    2000000k , 2000m , 2g   = 2 giga-bytes

if outputfilebase is omitted, outputfilenames will be:
    inputfile.part1
    inputfile.part2
    inputfile.part3
    ...
if outputfilebase is given, .part1 is appended to this.

options
   -yes         always overwrite existing output files.
   -nov[erify]  no verify after split.
   -altsize     use different method (fseek) to read the
                file size.
   -getsize=n[:d] before splitting, read file size n times
                with a delay of d milliseconds (default=100).
   -verbose     be verbose about file size results etc.
   -buffer=xm   set I/O buffer to x MB (default=100 MB).
   -update      do not rewrite existing parts of full size.
                useful when splitting repeatedly a growing
                input file, e.g. during a download.
                -update implies -yes.
   -dig[its]=n  set minimum number of digits used for the
                .part extension. since sfk 1.6.5, sfk join
                will autodetect the number of digits.
                if output will be joined with older versions
                of sfk then -digits must stay default (1).
   -text        split at line boundaries if possible.
                cannot be combined with -update.

performance notes
   the operating system may cache output files, writing
   to disk in background after sfk has finished. subsequent
   split commands may run slower, even if -noverify is used.

web reference
   http://stahlworks.com/sfk-split

examples
   sfk split 2g c:\bigfish.avi d:\transfer\easy.avi
      splits bigfish.avi into easy.avi.part1, .part2 etc.

   to rejoin the files, use the sfk join command:

   sfk join d:\transfer\easy.avi.part1 e:\full.avi
      joins easy.avi.part1, .part2 etc. into full.avi
 
splitting text files by no. of lines:

   this is not yet supported by sfk, but for example the
   cygwin split command supports this. cygwin is a large
   package of commands, requiring some installation.
   if you have it installed, type for example

      split --lines=10000 biginput.txt outprefix

   which creates output files outprefixaa, outprefixab etc.

see also:

   sfk partcopy  copy a single byte block from a binary file
   sfk hexdump   dump parts of a file for further analysis
   sfk snapto    joins all text files of a directory