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(1), and eqn constructions.
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 like standardise.
−x Every plausible stem is printed with = for each word.
By default, spell (like deroff(1)) follows chains of included files (.so and .nx troff requests), unless the names of such included files begin with /usr/lib. Under the −l option, spell follows the chains of all included files. Under the −i option, spell ignores all chains of included files.
Under the +local_file option, words found in local_file are removed from spell’s output. local_file is the name of a user-provided file that contains 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 may be specified by name arguments, indicated below with their default settings (see FILES). Copies of all output are accumulated in the history file. The stop list filters out misspellings (e.g., 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, incorporating the words already present in the default American spelling list, /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, /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 enter 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
D_SPELL=/usr/lib/spell/hlist[ab] hashed spelling lists, American & British
S_SPELL=/usr/lib/spell/hstop hashed stop list
H_SPELL=/usr/lib/spell/spellhist history file
/usr/lib/spell/spellprog program
TMPDIR A directory for temporary files, overriding the default /tmp.
VARIABLES
D_SPELL Your hashed spelling list. (Default as above.)
H_SPELL Spelling history. (Default as above.)
S_SPELL Your hashed stop list. (Default as above.)
SEE ALSO
deroff(1), sed(1), sort(1), tbl(1), tee(1).
STANDARDS CONFORMANCE
spell: SVID2, XPG2, XPG3
Hewlett-Packard Company — HP-UX Release 8.05: June 1991