sfk  198
About: sfk ("Swiss File Knife") combines many command line tools in a single portable executable (for e.g. search and convert text files, find duplicate files, compare folders, treesize, run own commands on all files of a folder). Zip file contains binaries for Windows (XP to Windows 8) and other OS.
  Fossies Dox: sfk198.zip  ("unofficial" and yet experimental doxygen-generated source code documentation)  

sfk Documentation

Some Fossies usage hints in advance:

  1. To see the Doxygen generated documentation please click on one of the items in the steelblue colored "quick index" bar above or use the side panel at the left which displays a hierarchical tree-like index structure and is adjustable in width.
  2. If you want to search for something by keyword rather than browse for it you can use the client side search facility (using Javascript and DHTML) that provides live searching, i.e. the search results are presented and adapted as you type in the Search input field at the top right.
  3. Doxygen doesn't incorporate all member files but just a definable subset (basically the main project source code files that are written in a supported language). So to search and browse all member files you may visit the Fossies sfk198.zip contents page and use the Fossies standard member browsing features (also with source code highlighting and additionally with optional code folding).
readme.txt

This is the Swiss File Knife (SFK), a command line multi function tool
created by StahlWorks Technologies, http://stahlworks.com/

SFK was made to make things easy.

File exchange between machines, find duplicates, find and replace text,
list directory tree sizes, and tons of other functions for daily tasks -
it's all contained within a single, truely portable executable.

Forget about installing dozens of tools on every new machine,
battling with missing or wrong versioned DLL's, missing admin rights,
missing package dependencies, user account configurations,
spammed registries and endless time wasting in general.

On every new Windows/Linux PC, Notebook, Workstation or Server,
just download or copy the SFK binary and use it - INSTANTLY.

How to get SFK up and running anywhere
--------------------------------------

   Download the executables for Windows, Mac OS/X, or desktop Linux

   By browser:

   -  http://stahlworks.com/sfk/

      then click on one of the top links to either download
      binaries instantly, or look further on sourceforge:

   -  http://sourceforge.net/projects/swissfileknife/

   OR

   Apple Macintosh:

      The Mac 64-bit intel binary is available from:

      -  curl -o sfkmac http://stahlworks.com/sfkmac

      Alternatively, a self compile under Mac is done by
      getting the sources as described below, then type

         g++ sfk.cpp sfkext.cpp sfkpack.cpp -o sfk

   OR

   Desktop Linux:

      The Linux i686 64-bit binary is available from:

      -  wget http://stahlworks.com/sfkux

   OR
   
   Any system:

      Get the whole distribution package in a .zip:

      -  wget http://stahlworks.com/sfk.zip

      Then extract this, and compile by:

         g++ sfk.cpp sfkext.cpp sfkpack.cpp -o sfk

   OR

   -  working on a machine without internet access, network folders,
      non-functioning USB ports, missing admin rights, and a thousand
      other reasons why you cannot copy a single file?

      if the machine has ANY connection to a local network, try this:

      SFK Instant HTTP Server for easy file exchange

         -  on another machine where you have SFK already, type
   
            sfk webserv -port=9090
   
         -  then, on the target machine, try to open a web browser
            and to access
   
               http://othermachine:9090/
   
            OR type
   
               wget http://othermachine:9090/sfk.zip
   
            provided that you have the SFK distribution zip file 
            located in the directory where you typed "sfk webserv"

      If that fails (no browser, no gui, no wget command),
      check if there exists an "ftp" command on the target.
      If so, try:

      SFK Instant FTP Server for easy file exchange

         -  on another machine where you have SFK already, type
   
            sfk ftpserv
   
         -  then, on the target machine, type
   
               ftp othermachine

            and if the login succeeds, try

               dir
               bin
               get sfk.zip

            provided that you have the SFK distribution zip file 
            located in the directory where you typed "sfk ftpserv".

         -  if ftp connections fail to work, check if the "ftp"
            client on the target accepts the command

               passive

            then try to "get" again (ftp creates a new connection
            per file download, which is often blocked by firewalls.
            the passive command changes the way in which those
            connections are created.)


How to prepare the SFK binary under Linux/Mac:

   -  after download, you have to rename it like

         mv sfkux sfk

      and you must enable execution by

         chmod +x sfk

      Then simply type

         ./sfk

      to get it running (the "./" is often needed as
      the PATH may not contain the current directory ".").               

Where to place the SFK executable:

   Recommendation for Windows:

      -  create a directory structure

            c:\app\bin

         then rename sfknnn.exe to sfk.exe, and copy that to c:\app\bin .

         If you use the "sfk alias" command later, the created alias
         batch files will also be placed into "c:\app\bin".

      -  extend the Windows Shell Path

            set PATH=%PATH%;c:\app\bin

      -  make sure your Windows Shell supports command autocompletion
         and Copy/Paste of text (the QuickEdit and Insert setting),
         otherwise it is very hard to use! read more by typing

            sfk help shell

      -  further tools can be installed parallel to "bin" into c:\app

      This way you avoid the long, blank-character-contaminated,
      inefficient default paths like "C:\Program Files".

   Recommendation for Linux/Mac:

      -  type "cd" then "pwd" to find out what your account's
         home directory is.

      -  within your home directory (e.g. /home/users/youruserid/)
         create a directory "tools"

            mkdir tools

         then rename sfkux to sfk, and copy that
         into the tools dir.

      -  extend the PATH like

            export PATH=$PATH:/home/users/youruserid/tools

      -  then you should be able to run sfk by typing "sfk".

      By default, there are no colors, as it is not possible
      to autodetect the background color under Linux.

      If you like colorful output, type "sfk help color"
      and read on how to set the "SFK_COLORS" variable
      (read it careful! if you set a wrong "def:" value,
       you may end up with white text on white background)


License:
========

   -  Swiss File Knife Base is provided completely for free,
      and can be used unlimited, without any warranty.

   -  the source code provided in the sfk.zip download packages
      is provided under BSD license, and therefore free for unlimited
      use also in commercial projects, without any warranty.

   Read the file bsd-license.txt for details.


See also:
=========

   -  Swiss File Knife Extended Edition (XE) is the commercial version
      of SFK, allowing direct reading of (nested) .zip, .tar.gz and
      .tar.bz2 file contents, and high performance replace of patterns
      in text and binary files. Read more under:

         http://stahlworks.com/sfkxe.html

   -  The whole SFK source code and documentation was created with
      Depeche View, the world's fastest text file browser and editor. 
      A free demo is available under:

         http://stahlworks.com/depeche-view.html

   -  The whole SFK documentation is available as an e-book,
      optimized for reading on mobile devices.
      For details see www.stahlworks.com

   -  The whole SFK documentation is available as the paperback book
      "100 Command Line Tools" on Amazon

The SFKTray GUI Status Display
==============================

   is a small Windows tool installed by sfktray-set-up.exe.
   the Freeware edition displays four independent status lights
   in the system tray which can be controlled by the sfk status 
   command like:

      sfk status local "v1 slot=1 color=green text='service ok'"

   type "sfk status" for the full syntax.
   a status can be sent from the local or a remote machine by UDP.
   the full edition with 9 status lights is available from:
   
      http://stahlworks.com/sfktray