How to do things
AI Noob vs. Pro

List biggest files
List newest files
Show subdir sizes
Search in files
Replace word in files
List dir differences
Send files in LAN

Free Open Source:

Swiss File Knife

a command line
multi function tool.

remove tabs
list dir sizes
find text
filter lines
find in path
collect text
instant ftp or
http server
file transfer
send text
patch text
patch binary
run own cmd
convert crlf
dup file find
md5 lists
fromto clip
hexdump
split files
list latest
compare dirs
save typing
trace http
echo colors
head & tail
dep. listing
find classes
speed shell
zip search
zip dir list

Depeche View
Source Research
First Steps

windows GUI
automation

command line
file encryption

free external tools,
zero install effort,
usb stick compliant:

zip and unzip
diff and merge
reformat xml
reformat source

cpp sources

log tracing
mem tracing
hexdump
using printf

articles

embedded
stat. c array
stat. java array
var. c array
var. java array
view all text
as you type
surf over text
find by click
quick copy
multi view
find nearby
fullscreen
bookmarks
find by path
expressions
location jump
skip accents
clip match
filter lines
edit text
highlight
load filter
hotkey list
receive text
send in C++
send in Java
smooth scroll
touch scroll
fly wxWidgets
fly over Qt
search Java

split and join large binary and text files, using the sfk split command for Windows, Mac OS X, Linux and Raspberry Pi, to enable transport or archiving on size limited media like usb stick, dvd or cd, or to work around file system limitations.
  • Download the free Swiss File Knife Base from Sourceforge.
  • Open the Windows CMD command line, Mac OS X Terminal or Linux shell.
  • OS X : type mv sfk-mac-64.exe sfk and chmod +x sfk then ./sfk
  • Linux: type mv sfk-linux-64.exe sfk and chmod +x sfk then ./sfk. OS X and Linux syntax may differ, check the help within the tool.
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

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

you are viewing this page in mobile portrait mode with a limited layout. turn your device right, use a desktop browser or buy the sfk e-book for improved reading.

 
sfk is a free open-source tool, running instantly without installation efforts. no DLL's, no registry changes - just get sfk.exe from the zip package and use it (binaries for windows, linux and mac are included).

 

the Endless Image 🍣 Sushi