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
split files
list latest
compare dirs
save typing
trace http
echo colors
head & tail
find classes
dep. listing
speed shell
zip search
zip dir list

Depeche View
Source Research
First Steps

windows GUI

the d3caster
java game engine

command line
file encryption

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

zip and unzip
diff and merge
reformat xml
reformat source

java sources

thread creation

cpp sources

log tracing
mem tracing
using printf


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
find by path
location jump
skip accents
clip match
filter lines
edit text
load filter
hotkey list
receive text
send in C++
send in Java
smooth scroll
touch scroll
fly wxWidgets
fly over Qt
search Java


find text patterns in text and binary files

like .txt, .html, .doc or .xls with a free open source command line tool 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 find [opts] singledir word [word2] [word3] ... [-names]

search text in text files. if multiple words are given
then only areas containing all words are listed.

this is a basic command to search only static words.
type sfk xfind to use wildcards and expressions.

   -arc       XE: include content of .zip .jar .tar etc. archives
                  as deep as possible, including nested archives.
              XD: demo will read first 1000 bytes of each entry.
   -qarc      quick read top level archives but not nested ones.
   -case      search case sensitive. default is case insensitive.
              for details type: sfk help nocase
   -bin       do not autodetect file content, process all as binary.
              can also be used for floating text files (one linefeed per
              paragraph, not per line). may produce unwanted line breaks
              with short-lined text.
   -len=n     increase the line length for text extracted from binary
              to find longer strings. maximum is 600 approx.
   -wide      same as -len=300
   -delim=.,; set delimiters to enable soft word wrapping.
              default is to soft wrap only on white space.
   -hidden    include hidden and system files.
   -c         case-sensitive search (not default).
   -lnum      list line numbers of hits.
   -nocol     disable color highlighting of output (sfk help colors).
   -names     list only names of files containing at least one hit.
   -notnames  list only names of files not containing any hit.
   -count     list no. of matching lines per file. implies -names.
              requires -text option, cannot be used with binary files.
   -quiet     do not show "scan" progress info.
   -pure      do not list filenames, list only text hits without indent.
              default when specifying a single file as first parameter.
   -verbose   tells in detail what find is actually searching for.
   -nocconv   disable umlaut and accent character conversions during
              output to console. "sfk help opt" for details.
   -firsthit  show only first matching result per file.
   -justrc    print nothing to terminal, just set return code.
   -head=n    read only first n text lines from files.

search limitations within binary data
   by default, only lines up to 80 characters are extracted
   from binary data, so strings longer than this may not be found.
   this can be changed by option -len=n or -wide.

pattern support
   no wildcards or slash patterns are supported, with one exception:
   if you need to find patterns starting with "-" or "+", prefix
   them with backslash \ to avoid misinterpretation as options.

return codes for batch files
   0 = no matches, 1 = matches found, >1 = major error occurred.
   see also "sfk help opt" on how to influence error processing.

   sfk findbin  same as sfk find but reads also binary files.

see also
   --- open source commands ---
   sfk xfind     search  wildcard text in   plain text files
   sfk ofind     search  in office files    .docx .xlsx .ods
   sfk xfindbin  search  wildcard text in   text/binary files
   sfk xhexfind  search  in text/binary with hex dump output
   sfk extract   extract wildcard data from text/binary files
   sfk filter    filter  and edit text with simple wildcards
   sfk find      search  fixed    text in   text        files
   sfk findbin   search  fixed    text in   text/binary files
   sfk hexfind   search  fixed    text in        binary files
   sfk replace   replace fixed    text in   text/binary files
   --- freeware commands ---
   sfk view      GUI tool to search text as you type
   --- xe commercial commands ---
   sfk replace   replace fixed    text with high performance
   sfk xreplace  replace wildcard text in   text/binary files
   sfk help xe   about SFK XE and xreplace with SFK Expressions.

web reference

   sfk find . foo bar include
      search text files in current dir for the words foo+bar+include.
      note that the short form syntax supports one directory name,
      and any number of text patterns, but no file name patterns.

   sfk find -pat text1 text2 -dir src1 src2 -file .cpp .hpp
      searches within the specified directories and file masks.

   sfk list src +find -verbose \-pat \\-foo \+list
      find lines containing words "-pat", "\-foo" and "+list"
      in all files of directory src, with verbose search infos.

   sfk find testfiles class +view
      search "class" within "testfiles", and show results
      interactively in Depeche View ("sfk view" for details).
example output:

   sfk find testfiles bardriver

   testfiles\FooBank\BarDriver\include\BarDriver.hpp :
      class BarDriver
       BarDriver ( );
       ~BarDriver ( );
   testfiles\FooBank\BarDriver\source\BarDriver.cpp :
      BarDriver::BarDriver( )
      BarDriver::~BarDriver( )
      void BarDriver::runDrawThread( )
   testfiles\FooBank\DB\source\DBController.cpp :
      #include "FooBank/BarDriver/include/BarDriver.hpp"
   testfiles\FooBank\GUI\source\FooGUI.cpp :
      #include "FooBank/BarDriver/include/BarBottle.hpp"
   testfiles\Formats\10-dir-list.txt :
   testfiles\Formats\12-foo-jam.txt :
      class BarDriver
       BarDriver ( );
       ~BarDriver ( );
      BarDriver::BarDriver( )
      BarDriver::~BarDriver( )
      void BarDriver::runDrawThread( )

see also:

   finding classfiles using sfk list, find and alias.

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).

read more about all sfk functions here.

Download the free Depeche View Lite Text Search Tool