aspell - Linux


Overview

aspell is a command-line spell checker designed for checking and correcting spelling in plain text files and programming languages. This tool is especially useful for editors and authors who work within a terminal environment, where traditional GUI-based spell checkers are not available. It supports multiple dictionaries and custom configurations making it a versatile tool for various linguistic and technical contexts.

Syntax

The general usage of aspell follows the syntax:

aspell [options] command

Common Commands

  • check filename: Checks the spelling of a single file.
  • list: Lists misspelled words from standard input.
  • check: Spell-checks a single file interactively.

Each command can be accompanied by several options to refine and customize its operation.

Options/Flags

  • -d or --lang: Specifies the language of the dictionary to be used. Default is the current locale setting.
  • --ignore-case: Ignores case when checking words.
  • --personal: Uses a personal dictionary with a specified path.
  • -c: Runs aspell in check mode, suitable for interactive checking.
  • -a: Runs aspell in pipe mode, suitable for integration with other commands in scripts.
  • --add-extra-dicts: Adds extra dictionaries to supplement the primary dictionary.
  • --mode: Sets the document mode, such as html, tex, or nroff.

Examples

  1. Check a single file interactively:

    aspell check myfile.txt
    
  2. List all misspelled words from a text stream:

    cat essay.txt | aspell -a list
    
  3. Using a specific dictionary language:

    aspell -d en_GB check myfile.txt
    
  4. Ignoring case differences in spell check:

    aspell --ignore-case -c myfile.txt
    

Common Issues

  • Unsupported dictionary error: This happens if the specified dictionary is not installed. Ensure the correct dictionary is installed or use --lang to specify an available one.
  • Encoding issues: Non-ASCII characters may not be handled correctly depending on your system settings. Ensure your locale settings support the needed character encoding.

Integration

aspell can be integrated with text editors and other command-line tools:

  • With vim editor: Set vim to use aspell by adding to your vimrc:

    set spell spelllang=en_us
    set spellsuggest=best,9
    
  • Combining with grep: To find and list only the lines with spelling errors:

    cat document.txt | aspell list | grep 'specificword'
    
  • ispell: An interactive spell checker, predecessor to aspell.
  • hunspell: Another popular spell check tool known for its flexibility.
  • spell: A basic spell checker in Unix-based systems.