Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
ftwhich(15)							   ftwhich(15)

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

       -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

	      The program file to search for.  '*' and '?'   can  be  used  as
	      '?'  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

       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*'

       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.

       Guido Socher (

       whichman(1) ftff(1)

Search utilities		 January 1999			   ftwhich(15)


Want to link to this manual page? Use this URL:

home | help