|HP-UX Reference > S
HP-UX 11i Version 3: February 2007
spell, hashmake, spellin, hashcheck — find spelling errors
spell [-v] [-b] [-x] [-l] [-i] [+ local_file] [files]
The spell command collects words from the named files and looks them up in a spelling list. Words that neither occur among nor are derivable (by applying certain inflections, prefixes, and/or suffixes) from words in the spelling list are printed on the standard output. If no files are named, words are collected from the standard input.
The spell command ignores most troff, tbl, and eqn constructions.
The spell command recognizes the following options:
By default, spell follows chains of included files much like deroff (see deroff(1)) which recognizes the troff/nroff intrinsics .so and .nx, unless the names of such included files begin with /usr/share/lib. If the -l option is used, spell follows the chains of all included files. With the -i option, spell ignores all chains of included files.
If the +local_file option is used, words found in local_file are removed from spell's output. local_file is the name of a user-provided file containing a sorted list of words, one per line. With this option, the user can specify a set of words that are correct spellings (in addition to spell's own spelling list) for each job.
The spelling list is based on many sources, and while more haphazard than an ordinary dictionary, is also more effective with respect to proper names and popular technical words. Coverage of the specialized vocabularies of biology, medicine, and chemistry is light.
Pertinent auxiliary files can be specified by name arguments, indicated below with their default settings (see FILES and VARIABLES). Copies of all output are accumulated in the history file. The stop list filters out misspellings (such as thier=thy-y+ier) that would otherwise pass.
Three routines help maintain and check the hash lists used by spell:
To check spelling of a single word:
echo word | spell
If word is spelled correctly, a prompt is returned. If it is spelled incorrectly, word is printed before the prompt is returned. To check spelling of multiple words, they can also be typed as a group on the same command line:
echo worda wordb wordc ... | spell
To create a personal spelling list that incorporates the words already present in the default American spelling list file /usr/share/dict/hlista:
cat /usr/share/dict/hlista | /usr/lbin/spell/hashcheck >tmp1 /usr/lbin/spell/hashmake <addwds >>tmp1 sort -u -o tmp1 tmp1 /usr/lbin/spell/spellin `wc -l <tmp1` <tmp1 >hlista
To modify the default British spelling list file /usr/share/dict/hlistb, replace all occurrences of hlista with hlistb in the above example.
To add words to the default spelling list, change login to root, change the current working directory to /usr/share/dict and execute the commands listed in the above example.
The spelling list's coverage is uneven. When undertaking the use of spell as a new tool, it may be advisable to monitor the output for several months to gather local additions. Typically, these are kept in a separate local file that is added to the hashed spelling_list via spellin, as shown above.
The British spelling feature was developed by an American.
Start-up versions of files hlista, hlistb, and hstop are available in directory /usr/newconfig/usr/share/dict. If these files or a suitable equivalent are not present in directory /usr/share/dict, spell complains:
spell: cannot initialize hash table spell: cannot initialize hash table
The spell command is likely to be withdrawn from X/Open standards. Applications using this command might not be portable to other vendors' systems.