fstrcmp - fuzzy comparison of strings
Contents
Copyright
fstrcmp version 0.7
Copyright (C) 2009 Peter Miller
Peter Miller <pmiller@opensource.org.au>
The comparison code is derived from the fuzzy comparison functions in GNU Gettext 0.17. The GNU Gettext
comparison functions were, in turn, derived from GNU Diff 2.7.
Copyright (C) 1988-2009 Free Software Foundation
fstrcmp(1)
Description
The fstrcmp command is used to make fuzzy comparisons between strings. The “edit distance” between the
strings is printed, with 0.0 meaning the strings are utterly un‐alike, and 1.0 meaning the strings are
identical.
You may need to quote the string to insulate them from the shell.
Example
The fstrcmp--select option may be used in a shell script to improve error messages.
case "$action" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "$0: action \"$action\" unknown" 1>&2
guess=`fstrcmp --select "$action" stop start restart`
if [ "$guess" ]
then
echo "$0: did you mean \"$guess\" instead?" 1>&2
fi
exit 1
;;
esac
Thus, the error message frequently suggests the correct action in the face of simple finger problems on
the command line.
Exit Status
The fstrcmp command exits with status 1 on any error. The fstrcmp command only exits with status 0 if
there are no errors.
Name
fstrcmp - fuzzy comparison of strings
Options
The fstrcmp command understands the following options:
-a--files-as-bytes
This option is used to compare two files as arrays of bytes. See fmemcmp(3) for more
information.
-p--pair This option is used to compare two strings as arrays of bytes. This is the default. See
fstrcmp(3) for more information.
-s--select
This option is used to select the closest needle from the provided haystack alternatives. The
most similar (single) choice is printed. If none are particularly similar, nothing is printed.
See fstrcmp(3) for more information. See below for example.
-V--version
This option may be used to print the version of the fstrcmp command, and then exit.
-w--wide-pair
This option is used to compare two multi‐byte character strings. See fstrcoll(3) for more
information.
See Also
fstrcmp(3) fuzzy comparison of strings fstrcoll(3) fuzzy comparison of two multi‐byte character strings fstrcmpi(3) fuzzy comparison of strings, integer variation
Synopsis
fstrcmp [ -p ] first‐stringsecond‐stringfstrcmp-wfirst‐stringsecond‐stringfstrcmp-afirst‐filesecond‐filefstrcmp-sneedlehaystack...
fstrcmp--version