This is the command ftwhich that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator
ftwhich - fault tolerant search for a command name
ftwhich [-#hIp][-t#] program_name
ftwhich 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 approximately 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 replacements 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 naturally not search for aliases as it does not know about alias definitions.
- ftwhich lists all files that approximately 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.
-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 program 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 number of errors permitted in finding the
approximate match. The default tolerance is (strlen(searchpattern) - number of
wildcards)/6 + 1
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.
Search for all programs like gcc in your PATH:
This will e.g. find gcc or cc or CC ...
To find all files that start with any prefix and end in config and differ 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*'
Use ftwhich online using onworks.net services