Show the location of a man page using a fault tolerant approximate matching algorithm
whichman [-#ehIp][-t#] man-page-name
whichman is a "which" alike search command for man pages. whichman searches the MANPATH environment variable. If this variable is not defined, then it uses /usr/share/man:/usr/man:/usr/X11R6/man: /usr/local/share/man:/usr/local/man by default.
Unlike "which" this program does not stop on the first match. The name should probably have been something like whereman as this is not a "which" at all. whichman shows all man-pages that match and allows you to identify the different sections to which the pages belong.
whichman can handle international manpage path names for different languages. Man pages in different languages may be stored in .../man/<country_code>/man[1-9]/...
By default, whichman does fault tolerant approximate string matching. With a default tolerance level of: (strlen(searchpattern) - number of wildcards)/6 + 1
-h
Prints a little help/usage information.
-I
Do case sensitive search (default is case in-sensitive)
-e
Use exact matching when searching for a given man-page and the wildcards * and ? are disabled.
-p
print the actual tolerance level in front of the man page name.
-# or -t#
Set the fault tolerance level to #. The fault tolerance level is a integer # in the range 0-255. It specifies the maximum number of errors permitted in finding the approximate match. A tolerance_level of zero allows exact matches only but does NOT disable the wildcards * and ?.
The search key may contain the wildcards * and ? (but see -e option):
'*'
any arbitrary number of character
'?'
one character
The last argument to whichman is not parsed for options as the program needs at least one man-page-name argument. This means that whichman -x will not complain about a wrong option but search for the man-page named -x.
whichman print
This will e.g. find the man-pages:
/usr/share/man/man1/printf.1.gz
/usr/share/man/man3/printf.3.gz
/usr/share/man/man3/rint.3.gz
The wildcards '?' and '*' can not be escaped. These characters function always as wildcards. This is however not a big problem since there is hardly any man-page that has these characters in its name.
Guido Socher ([email protected])