ftwhich(15)ftwhich(15)NAMEftwhich - fault tolerant search for a command name
SYNOPSISftwhich [-#hIp][-t#] program_name
DESCRIPTIONftwhich is a fault tolerant version of the which(1) command. ftwhich
searches for a given program in all directories included in your PATH
environment variable and reports all files with a name that approxi‐
mately matches the given program_name.
ftwhich achieves fault tolerance by calculating the so called
Weighted Levenshtein Distance. The Levenshtein Distance is defined as
the minimum number of character insertions, deletions and replace‐
ments that transform a string A into a string B.
ftwhich is similar to the which command with the following differences:
- ftwhich is by default NOT case sensitive
- ftwhich is fault tolerant
- Some shells have a build in which command that will also search
aliases. ftwhich can naturaly not search for aliases as it does
not know about alias definitions.
- ftwhich lists all files that approximatly match. The files first
shown take preference over files of the same name printed later
as they are from directories listed earlier in the PATH.
- The level of fault tolerance can be adjusted by specifying the
optional parameter tolerance. A tolerance of 0 specifies exact
match.
OPTIONS-h Prints help/usage information.
-I Do case sensitive search (default is case in-sensitive)
-p print the actual distance value in front of the found filename.
This value is equal to the number of insertions, deletions and
replacements necessary to transform the name of the found pro‐
gram into the search key.
-# or -t#
Set the fault tolerance level to #. The fault tolerance level
is an integer in the range 0-255. It specifies the maximum num‐
ber of errors permitted in finding the approximate match. The
default tolerance is (strlen(searchpattern) - number of wild‐
cards)/6 + 1
program_name
The program file to search for. '*' and '?' can be used as
wildcards.
'?' denotes one single character.
'*' denotes an arbitrary number of characters.
The last argument to ftwhich is not parsed for options as the program
needs at least one program_name argument. This means that ftwhich-x
will not complain about a wrong option but search for the program named
-x.
EXAMPLE
Search for all programs like gcc in your PATH:
ftwhich gcc
This will e.g. find gcc or cc or CC ...
To find all files that start with any prefix and end in config and dif‐
fer in 2 letters from the word config:
ftwhich-2 '*config'
To find all files that exactly start with the prefix if:
ftwhich-0 'if*'
To find all clock programs:
ftwhich-0 '*clock*'
BUGS
The wildcards '?' and '*' can not be escaped. These characters func‐
tion always as wildcards. This is however not a big problem since there
is normally hardly any command that has these characters in its name.
AUTHOR
Guido Socher (guido@linuxfocus.org)
SEE ALSOwhichman(1)ftff(1)Search utilities January 1999 ftwhich(15)