spell(1)
NAME
spell, hashmake, spellin, hashcheck − find spelling errors
SYNOPSIS
spell [-v] [-b] [-x] [-l] [-i] [+ local_file] [files]
/usr/lib/spell/hashmake
/usr/lib/spell/spellin n
/usr/lib/spell/hashcheck spelling_list
DESCRIPTION
spell 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.
spell ignores most troff, tbl, and eqn constructions.
Options
spell recognizes the following options:
-v All words not literally in the spelling list are printed, and plausible derivations from the words in the spelling list are indicated.
-b British spelling is checked. Besides preferring centre, colour, programme, speciality, travelled, etc., this option insists upon -ise in words such as standardise.
-x Every plausible stem is printed with = for each word.
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/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:
hashmake Reads a list of words from the standard input and writes the corresponding nine-digit hash code on the standard output.
spellin n Reads n hash codes from the standard input and writes a compressed spelling list on the standard output. Information about the hash coding is printed on standard error.
hashcheck Reads a compressed spelling_list and recreates the nine-digit hash codes for all the words in it; it writes these codes on the standard output.
EXAMPLES
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/lib/spell/hlista:
cat /usr/lib/spell/hlista | /usr/lib/spell/hashcheck >tmp1
/usr/lib/spell/hashmake <addwds >>tmp1
sort -u -o tmp1 tmp1
/usr/lib/spell/spellin ‘wc -l <tmp1‘ <tmp1 >hlista
To modify the default British spelling list file /usr/lib/spell/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/lib/spell and execute the commands listed in the above example.
WARNINGS
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 /etc/newconfig. If these files or a suitable equivalent are not present in directory /usr/lib/spell, spell complains:
spell: cannot initialize hash table
spell: cannot initialize hash table
FILES
/usr/lib/spell/hlist[ab] hashed spelling lists, American & British
/usr/lib/spell/hstop hashed stop list
/usr/lib/spell/spellhist history file
/usr/lib/spell/spellprog executable program file
VARIABLES
D_SPELL Your hashed spelling list (default is D_SPELL=/usr/lib/spell/hlist[ab])
H_SPELL Spelling history (default is H_SPELL=/usr/lib/spell/spellhist).
S_SPELL Your hashed stop list (default is S_SPELL=/usr/lib/spell/hstop).
TMPDIR Directory for temporary files; overrides the default /tmp.
SEE ALSO
deroff(1), sed(1), sort(1), tbl(1), tee(1).
STANDARDS CONFORMANCE
spell: SVID2, XPG2, XPG3
Hewlett-Packard Company — HP-UX Release 9.0: August 1992