Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Reference > S


HP-UX 11i Version 3: February 2007

Technical documentation

» Feedback
Content starts here

 » Table of Contents

 » Index


spell, hashmake, spellin, hashcheck — find spelling errors


spell [-v] [-b] [-x] [-l] [-i] [+ local_file] [files]


/usr/lbin/spell/spellin n

/usr/lbin/spell/hashcheck spelling_list


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:


All words not literally in the spelling list are printed, and plausible derivations from the words in the spelling list are indicated.


British spelling is checked. Besides preferring centre, colour, programme, speciality, travelled, etc., this option insists upon -ise in certain words, such as in standardise.


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/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:


Reads a list of words from the standard input and writes the corresponding nine-digit hash code on the standard output. This program only accepts words that are up to 30 characters long. When words exceeding 30 characters are encountered, a diagnostic message is displayed on standard error.

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.


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.


Environment Variables


Your hashed spelling list (default is D_SPELL=/usr/share/dict/hlist[ab])


Spelling history (default is H_SPELL=/var/adm/spellhist).


Your hashed stop list (default is S_SPELL=/usr/share/dict/hstop).


Directory for temporary files; overrides the default /tmp.


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.



Hashed spelling lists, American and British.


Hashed stop list.


History file.


Executable program file.


spell: SVID2, SVID3, XPG2, XPG3

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1983-2007 Hewlett-Packard Development Company, L.P.