Man Linux: Main Page and Category List

NAME

       wordplay - anagram finder

SYNOPSIS

       wordplay string [-slxavnmd] [-w word] [-f wordfile]

DESCRIPTION

       wordplay is an anagram finder. What is an anagram?  Well, let’s turn to
       Merriam-Webster’s Collegiate Dictionary, Tenth Edition:

       anagram:
              a word or phrase made by transposing the letters of another word
              or phrase.

       Each  letter  in  the anagram must appear with the same frequency as in
       the original string.

       For example, the letters in the word "stop" can be rearranged to  spell
       "tops"  or  "pots"  or  "sotp".   "sotp"  is  not  a word and is not of
       interest when generating anagrams.  "stop" has four letters,  so  there
       are  24  ways  to  rearrange  its  letters.   However,  very few of the
       rearrangements actually spell words.

       Wordplay, by using a list of words, takes a specified string of letters
       and uses the list of words to find anagrams of the string.

       By  the way, "Wordplay" anagrams to "Rowdy Pal", and the program really
       can live up to that particular anagram.  I have been able  to  come  up
       with  anagrams  of  most  of  my  coworkers’  names  that are humorous,
       descriptive, satirical, or, occasionally, quite vulgar.

OPTIONS

       string String to be anagrammed.  This should be seen to the program  as
              a  single  argument.   If  you  feel  you must put spaces in the
              string, under UNIX, you will have to put backslashes in front of
              the spaces or just put the entire string in double quotes.  Just
              leave the spaces out because the program throws them out anyway.

       -s     Silent  operation.   If this option is used, the header and line
              numbers are not printed.  This is useful if you want the  output
              to  contain  only the anagrams.  Use this option with the l (and
              x)  option  to  generate  a  wordlist  which  can  be  piped  or
              redirected.   This  option does not suppress error messages that
              are printed to stderr.  Finding zero anagrams is not an error.

       -l     Print list of candidate words before anagramming.  This  is  the
              list  of  words  that  can  be spelled with the letters from the
              specified string, with no letters being  used  more  often  that
              they appear in the input string.

       -x     Do  not  perform  anagramming.   Use with l if you just want the
              candidate word list without anagrams.

       -a     Allow anagrams containing two or more occurrences of a word.

       -v     Consider strings with no vowels as candidate words  and  do  not
              give up when there are no vowels remaining after extractions.

       -m     Limit  candidate  word  length  to  a maximum number of letters.
              Follow by an integer.  m12 means limit words to 12 letters.   m5
              means limit them to 5 letters.

       -n     Limit  candidate  word  length  to  a minimum number of letters.
              Follow by an integer.  n2 means limit words to 2  letters.   n11
              means limit them to 11 letters.

       -d     Limit  number  of words in anagrams to a maximum number.  Follow
              by an integer.  d3 means no anagrams should contain more than  3
              words.  d12 means limit anagrams to 12 words.  This is currently
              the  option  that  I  recommend  to  limit  output,   since   an
              optimization  has  been  added  to speed execution in some cases
              when this option is used.

       -w     Specify a word which should appear in  all  anagrams.   This  is
              useful  if  you already have a word in mind that you want in the
              anagrams.  This option should be specified at  the  end  of  the
              command, followed by a space and the word to use.

       -f     Specify  which  word  list  to  use.   See example!  This option
              should be specified at the end of the  command,  followed  by  a
              space  and  the  alternate wordfile name.  This is useful if you
              have other word lists to try or if you are interested in  making
              your  own  customized  word list.  New feature:  Use a hyphen as
              the filename if the wordlist should be read from stdin.

EXAMPLES

       wordplay persiangulf
              Anagram the string "persiangulf" .

       wordplay anagramming -lx
              Print the list of words from the wordlist that can be spelled by
              using the letters from the word "anagramming".  A letter may not
              be used more often than the number of times  it  occurs  in  the
              word "anagramming".  No anagrams are generated.

       wordplay tomservocrow -n3m8
              Anagram  the  string  "tomservocrow" .  Do not use words shorter
              than 3 letters or longer than 8 letters.

       wordplay persiangulf -ld3m10 -f /usr/share/dict/words
              Print the candidate words for the string  "persiangulf".   Print
              anagrams containing up to 3 words, without considering any words
              longer than 10 characters.  Use the file "/usr/share/dict/words"
              rather than "words721.txt".

       wordplay soylentgreen -n3w stolen -f w2
              Print  anagrams  of  "soylentgreen" containing the word "stolen"
              and use the file "w2" as the wordlist file.   Discard  candidate
              words shorter than 3 characters.

       wordplay university -slx
              Print  the candidate word list for the string "university".  The
              output will consist of just the  words.   This  output  is  more
              useful  for  redirecting  to  a  file  or  for piping to another
              program.

       wordplay trymeout -s
              Anagram the string "trymeout" and print  the  anagrams  with  no
              line  numbers.   The header will not be printed.  This is useful
              for piping the output to another process (or saving it to a file
              to  be  used  by  another  program)  without having to parse the
              output to remove the numbers and header.

       wordplay trymeout -v
              Anagram "trymeout" as usual, but in case vowel-free strings  are
              in the wordlist, consider them as possible candidate words.

       cat wordlist1 wordlist2 wordlist3 | sort -u | wordplay trymeout -f -
              Anagram "trymeout" and read the wordlist from stdin, so that, in
              this case, the three  wordlists  "wordlist1",  "wordlist2",  and
              "wordlist3"  will be concatenated and piped into wordplay as the
              wordlist.  The "sort -u" is there to remove duplicate words from
              the combined wordlist.

NOTES

       If the option specifiers are combined, as in "an7m7d5f" or "d3n5f", the
       f should come last, followed by a space and the word list file.

       The "w" option is used in the same manner.

       Limit the number of words to consider, if desired, using the  n  and  m
       options,  or  better  yet,  use  the  d  option  to  limit  depth, when
       anagramming certain time-consuming strings.  The program  is  currently
       optimized to speed execution in some cases when the d option is used.

       It  is highly recommended that the "words721.txt" file distributed with
       the  program  be  used,  since  many  nonsense  two  and   three-letter
       combinations  that  are not words have been eliminated.  This makes the
       quality of the output slightly  better  and  speeds  execution  of  the
       program  a  slight bit.  Any word list may be used, as long as there is
       one word per line.  Feel free to create your own custom word  list  and
       use  it  instead.   The  word  list  does  not have to be sorted in any
       particular way.

FILES

       /usr/share/games/wordplay/words721.txt
              Default word list file.

DISTRIBUTION

       This program was written for fun and is free.   Distribute  it  as  you
       please,  but  please  distribute  the entire package, with the original
       words721.txt and the readme file.   If  you  modify  the  code,  please
       mention my name in it as the original author.  Please send me a copy of
       improvements you make, because I may include them in a future  version.

AUTHOR

       Wordplay was written by Evans A Criswell <criswell@cs.uah.edu>

       This man page was written by Joey Hess <joeyh@debian.org>

                                 DECEMBER 1996                          FOO(1)