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 referencehttp://stahlworks.com/sfk-splitexamplessfk 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