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

Supersonic Text File Search - Free Download

Open Zip files on the command line with support for UTF-8 unicode filenames and 64 bit zip files, with the free Open Source tool Swiss File Knife for Windows, Mac OS X, Linux and Raspberry Pi.
  • 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 unzip in.zip [-pat mask1 !mask2 ...]

extract .zip file contents.

Unicode marked filename support

sfk unzip supports UTF-8 unicode filenames
if they are marked as such, according to the
zip format standard, or if they are provided
as a zip format UTF-8 name extension.
UTF-8 names are listed with 'u' on extraction.

if foreign language names are extracted,

- they may just show ??? for many characters,
  because the console cannot print them. just
  ignore this and extract it onto an NTFS file
  system, then open the output folder in Windows
  file explorer, to see the correct names.

- other sfk functions may not be able to read
  the extracted files, if they use characters
  outside of your windows codepage.
  i.e. you may be able to extract chinese files
  on a west european windows, but other functions
  like sfk find will then fail to read them.

Unicode unmarked filenames

some old non-standard tools under linux/mac
may produce zip files with unmarked UTF-8 names,
which show no 'u' flag on extraction.
to force extraction as UTF-8, use: sfk unzipuni

Codepage filename support

filenames which are not marked as 'u' UTF-8,
but contain hicodes like umlauts or accents,
are considered to use codepage 850, the system
codepage of your computer. this can be wrong if
the file was created with a different codepage.
you may then try option -fromcode=n with n like
1252 850 852 866 1250 1251 or any other codepage.

64 bit zip file support

sfk unzip can extract 64 bit zip files with sizes
over 2 gb. sfk xe search in zip file contents is
limited to smaller files, for details: sfk help xe

options
-pat mask   extract only files having mask in their
            path or filename. use -pat !mask
            to exclude paths or filenames.
            -pat \mask\ says the path or file
            must start and end with mask.
-test       check the archive content integrity
            without writing any files.
-verbose    list full details for every file while
            in simulation. prints raw utf-8 or
            codepage filenames from the zip,
            allowing output redirect to file.
            add -full now for more details.
-todir x    write output to folder x
-asdir x    rename top level folder name on extract.
            fails if there are multiple top folders
            in the zip, or files without folders.
-force      continue after errors.
-uauto      detect UTF-8 filenames just by looking
            at their characters. this is not fully
            safe, and should be used only to fix
            bad names from zip files created with
            old non-standard tools.
-noextutf   do not use utf extension field,
            to see the contained oem names.
-keep       keep bad output file even if
            crc check failed.
-offtime    expect file times which are
            one hour off, depending on DST.
            for details see: sfk help offtime
-fromcode=n  set zip filename codepage manually.
            default on this computer is 850.

output chaining
  sfk unzip supports text output chaining.

see also
  sfk zip       create a zip file
  sfk space     show free disk space
  sfk unzipuni  extract all as UTF-8
  sfk checkzip  test zip integrity

- Depeche View Pro can directly view the content
  of .zip, .tar.gz and .tar.bz2 files, for quick
  analysis of source packages without extraction.

  stahlworks.com/dv

- SFK XE can search in .zip, .tar.gz and .tar.bz2
  archive contents directly like:

  sfk xfind -arc in.zip "/foo*bar/"
    search in all files within in.zip

  sfk xfind -arc mydir "/foo*bar/"
    search in all .zip, .tar.gz etc. files
    within folder mydir

  a demo is contained in this binary (it reads
  the first 1000 bytes per archive entry).

  stahlworks.com/xe

- an overview of further zip/unzip tools
  for the command line is available under:

  stahlworks.com/zip

examples
  sfk unzip in.zip
    extract whole content of in.zip

  sfk unzip in.zip -pat mydir .txt
    extract only files with mydir and .txt
    in their path, no matter in which order.

  sfk unzip in.zip -pat "foo*bar"
    extract foo1bar, foo2bar but not barfoo.

  sfk unzip in.zip -pat \mydir\ !.obj
    extract mydir but not mydir2 or oldmydir
    and exclude all .obj files.

  sfk unzip in.zip -verbose >mylist.txt
    write file list with details and raw names
    to mylist.txt, allowing to view this in
    utf-8 capable editors like Notepad++.

  sfk unzip in.zip +filter -!test
    extract all from in.zip, but do not print
    any names with "test" to terminal.

 
. 
sfk unzip in.zip [-pat mask1 !mask2 ...]

extract .zip file contents.

Unicode marked filename support

sfk unzip supports UTF-8 unicode filenames
if they are marked as such, according to the
zip format standard, or if they are provided
as a zip format UTF-8 name extension.
UTF-8 names are listed with 'u' on 
extraction.

if foreign language names are extracted,

- they may just show ??? for many 
  characters, because the console cannot
  print them. just ignore this and extract
  it onto an NTFS file system, then open
  the output folder in Windows file
  explorer, to see the correct names.

- other sfk functions may not be able 
  to read the extracted files, if they use
  characters outside of your windows
  codepage. i.e. you may be able to extract
  chinese files on a west european windows,
  but other functions like sfk find will
  then fail to read them.

Unicode unmarked filenames

some old non-standard tools under linux/mac
may produce zip files with unmarked UTF-8 
names, which show no 'u' flag on
extraction.
to force extraction as UTF-8, use: sfk 
unzipuni

Codepage filename support

filenames which are not marked as 'u' UTF-8,
but contain hicodes like umlauts or accents,
are considered to use codepage 850, the 
system codepage of your computer. this can
be wrong if the file was created with a
different codepage. you may then try option
-fromcode=n with n like 1252 850 852 866
1250 1251 or any other codepage.

64 bit zip file support

sfk unzip can extract 64 bit zip files with 
sizes over 2 gb. sfk xe search in zip file
contents is limited to smaller files, for
details: sfk help xe

options
-pat mask   extract only files having mask 
            in their path or filename. use
            -pat !mask to exclude paths or
            filenames. -pat \mask\ says the
            path or file must start and end
            with mask.
-test       check the archive content 
            integrity without writing any
            files.
-verbose    list full details for every 
            file while in simulation.
            prints raw utf-8 or codepage
            filenames from the zip,
            allowing output redirect to
            file. add -full now for more
            details.
-todir x    write output to folder x
-asdir x    rename top level folder name on 
            extract. fails if there are
            multiple top folders in the zip,
            or files without folders.
-force      continue after errors.
-uauto      detect UTF-8 filenames just by 
            looking at their characters.
            this is not fully safe, and
            should be used only to fix bad
            names from zip files created
            with old non-standard tools.
-noextutf   do not use utf extension field,
            to see the contained oem names.
-keep       keep bad output file even if
            crc check failed.
-offtime    expect file times which are
            one hour off, depending on DST.
            for details see: sfk help 
            offtime
-fromcode=n  set zip filename codepage 
             manually.
            default on this computer is 850.

output chaining
  sfk unzip supports text output chaining.

see also
  sfk zip       create a zip file
  sfk space     show free disk space
  sfk unzipuni  extract all as UTF-8
  sfk checkzip  test zip integrity

- Depeche View Pro can directly view the 
content
  of .zip, .tar.gz and .tar.bz2 files, 
for quick
  analysis of source packages without 
extraction.

  stahlworks.com/dv

- SFK XE can search in .zip, .tar.gz and 
.tar.bz2
  archive contents directly like:

  sfk xfind -arc in.zip "/foo*bar/"
    search in all files within in.zip

  sfk xfind -arc mydir "/foo*bar/"
    search in all .zip, .tar.gz etc. files
    within folder mydir

  a demo is contained in this binary 
(it reads the first 1000 bytes per
archive entry).

  stahlworks.com/xe

- an overview of further zip/unzip tools
  for the command line is available under:

  stahlworks.com/zip

examples sfk unzip in.zip extract whole content of in.zip sfk unzip in.zip -pat mydir .txt extract only files with mydir and .txt in their path, no matter in which order. sfk unzip in.zip -pat "foo*bar" extract foo1bar, foo2bar but not barfoo. sfk unzip in.zip -pat \mydir\ !.obj extract mydir but not mydir2 or oldmydir and exclude all .obj files. sfk unzip in.zip -verbose >mylist.txt write file list with details and raw names to mylist.txt, allowing to view this in utf-8 capable editors like Notepad++. sfk unzip in.zip +filter -!test extract all from in.zip, but do not print any names with "test" to terminal. .

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 Daily Landscape image
the Daily Mobile Background