ISPELL: Spelling Checker

 in
Not a perfect speller? This is the command for you.

As a former Technical Editor, I know how easy it is to miss incorrect spelling when proof-reading, especially if the word “looks” right, e.g., compatability (sic). For this reason, a good spelling checker is a must. The command ispell does a good job and has special features to help it do even better. The Man page for ispell is very comprehensive, so I won't go into all its options—only my favorites.

When ispell has been invoked and it finds a misspelled word, options are displayed in one line across the bottom of the screen:

[SP] <number> R)epel A)ccept I)nsert L)ookup
 U)ncap Q)uit e(X)it or ? for help

All you have to do is press the space bar (accept this time only) or A (accept for rest of document) to accept the spelling as is, press I to insert the word in the dictionary, or press the appropriate number or R to replace it. The main thing to watch out for is the right time to use R. When a misspelled word is found and the spelling choices are offered, the tendency is to press R for replace and enter the number of the correct choice—doing this results in the number replacing your word. Instead, enter the number of your choice immediately, and since replace is the default, the correct spelling will replace the incorrect in the text. Use R only when a correct spelling is not offered by ispell.

Most of SSC's reference cards and command summaries use troff text formatting; other manuals use TeX. Use the option -n with troff text or -t with TeX or LaTeX, and ispell will ignore formatting commands, thereby returning fewer “misspelled” words for you to accept. While an option is not available to designate a Quark file, you can always insert the QuarkXPress formatting commands into your personal dictionary the first time they come up and not be hassled again.

In fact, the personal dictionary is probably the neatest feature of all. The very first time you select I to insert a word it doesn't recognize, ispell sets up a personal dictionary named ispell_english in your home directory. After that, any word you select will be added to this dictionary, and you will never be told it is misspelled again. This feature is particularly handy for proper names, buzz words and abbreviations unique to your business. Hashed dictionaries for other languages (that have been installed) can be specified using -d. In addition, you can set up special dictionaries for particular projects. For example, when I was editing the Java Reference Cards, I set up a special dictionary named ispell_java just for Java terms in my work directory. Afterwards, whenever I ran ispell, I specified the command line as:

ispell -n -p ./ispell_java java.troff

As a result, ispell knew class names like getFontList were spelled correctly, and that getFontlist was not. By the way, don't forget that the command line specification must include the directory of the dictionary (./ in the above example); otherwise ispell will look for it in your home directory.

Another handy feature to remember is how to check a single word instead of a complete file by using the -a option. For example, if you specify:

echo compatability | ispell -a

ispell will return the one line message:

&compatability 3 0: comparability, compatibility,
computability

This message tells you “compatability” is misspelled, and gives you a list of 3 best guesses in alphabetical order. If you prefer not to have the list sorted alphabetically, use the -S option, and it will be sorted by best guess.

All in all, ispell is an effective and easy-to-use all-purpose spell checker.

Marjorie Richardson is Managing Editor of Linux Journal and the Editor of Linux Gazette. She had been a programmer in the oil industry for 20 years before coming to SSC. She likes to quilt, read science fiction, watch action movies and musicals, go to the opera and camp with her husband, Riley. She can be reached via e-mail at mlr@ssc.com.

______________________

Webinar
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Webinar
Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix