GNU Aspell - 免费,开源和独立的拼写检查

时间:2020-03-21 11:47:58  来源:igfitidea点击:

今天,我们将谈论GNU Aspell,免费,开源和独立的拼写检查。
我们可以在UNIX的操作系统上用作库或者独立的拼写检查器。
Aspell将建议在单词/文档中替换拼写错误的单词。
与像Ispell这样的其他拼写检查不同,Aspell也可以轻松检查UTF-8中的文档,而无需使用特殊字典。
它还支持一次使用多个词典。
在这篇简短的教程中,我们将看到如何安装Aspell以及如何使用它来检查给定的单词和/或者文档中的拼写错误。

在Linux上安装GNU Aspell拼写检查器

GNU Aspell可在大多数Linux发行版的默认存储库中提供,因此安装不会是一个大的优惠。

关于Arch Linux,如Antergos,Manjaro Linux,运行:

$sudo pacman -S aspell

关于Fedora:

$sudo dnf install aspell

在Rhel,Centos:

$sudo yum install epel-release
$sudo yum install aspell

在Debian,Ubuntu:

$sudo apt-get install aspell

添加词典

默认情况下,Aspell不会有任何字典。
要添加字典,例如英语,只需安装此软件包Aspell-en。
同样,要添加西班牙语字典,请安装Aspell-es包。

这也可以在默认存储库中找到。
例如,在Arch Linux上添加英语词典,运行:

$sudo pacman -S aspell-en

在Debian,Ubuntu:

$sudo apt-get install aspell-en

关于Fedora:

$sudo dnf install aspell-en

Rhel/CentOS:

$sudo yum install aspell-en

要添加西班牙语字典,请使用以下命令:

Arch Linux:

$sudo pacman -S aspell-es

debian/ubuntu:

$sudo apt-get install aspell-es

Fedora:

$sudo dnf install aspell-es

Rhel/CentOS:

$sudo yum install aspell-es

安装所有词典后,我们可以确保是否可用或者不使用命令:

$aspell dicts
en
en-variant_0
en-variant_1
en-variant_2
en-w_accents
en-wo_accents
en_CA
en_CA-variant_0
en_CA-variant_1
en_CA-w_accents
en_CA-wo_accents
en_GB
en_GB-ise
en_GB-ise-w_accents
en_GB-ise-wo_accents
en_GB-ize
en_GB-ize-w_accents
en_GB-ize-wo_accents
en_GB-variant_0
en_GB-variant_1
en_GB-w_accents
en_GB-wo_accents
en_US
en_US-variant_0
en_US-variant_1
en_US-w_accents
en_US-wo_accents
es

好吧,我的系统中安装了两个词典,英语(包括其变体)和西班牙语。
现在让我们看看如何使用Aspell拼写检查单词或者文档。

使用GNU Aspell拼写检查拼写检查单词或者文档的拼写错误

拼写检查单词

默认情况下,Aspell使用英语语言来检查拼写。

让我们检查一个单词的拼写。
为此,请键入:

$aspell -a

现在键入任何拼写错误的单词。
Aspell将使用词典比较给定的单词,它将显示正确拼写的可能建议。

@(#) International Ispell Version 3.1.20 (but really Aspell 0.60.6.1)
englsh
& englsh 7 0: English, Englisher, Engels, English's, Englishes, Engels's, encl

如果键入正确的拼写单词,它将显示一个星号。

$aspell -a
@(#) International Ispell Version 3.1.20 (but really Aspell 0.60.6.1)
English
*

使用不同的语言,例如西班牙语,只需使用"-l"标志与语言代码如下所示:

$aspell -a -l es
@(#) International Ispell Version 3.1.20 (but really Aspell 0.60.6.1)
Holla 
& Holla 30 0: Hola, Halla, Holea, Hollé, Holló, Hulla, Hila, Hollad, Hollar, Hiela, Huella, Olla, Hala, Bolla, Folla, Molla, Polla, Rolla, Solla, Tolla, Halle, Hallo, Hallé, Halló, Helea, Holee, Holeo, Holeé, Holeó, Huela

其中"es"是西班牙语的语言代码。

我们还可以检查语言不同变体的拼写错误。
例如,要检查加拿大英语词典中的拼写错误,请使用-d和语言格式(我们可以使用"Aspell Dicts"命令查看可用的英语变体)。

$aspell -a -d en_CA

要退出拼写检查,请键入ctrl + c。

我们还可以使用"echo"命令与Aspell结合使用,以检查单词的拼写错误。
看看以下示例。

$echo englsh | aspell -a

示例输出将是:

@(#) International Ispell Version 3.1.20 (but really Aspell 0.60.6.1)
& englsh 7 0: English, Englisher, Engels, English's, Englishes, Engels's, encl

正如我们所看到的,Aspell建议拼写错误的词'ENGLSH'的可能更换。

如果要在另一种语言中检查拼写,例如西班牙语,请使用"-l"标志以及如下所示的语言代码。

$echo englsh | aspell -a -l es

要检查加拿大英语词典中拼写错误的单词拼写,请运行:

$echo englsh | aspell -a -d en_CA

或者,我们可以拼写检查一个单词,如下所示。

$aspell -a <<< englsh

或者,如果我们想在另一种语言中检查拼写,请使用此操作。

$aspell -a -l es <<< englsh

拼写检查文件

我有一个文件theitroad.txt,其中几行。
这是此文件的内容。

$cat theitroad.txt
welcom
englsh
Tamil
Linux
securty

现在,让我检查这个文件是否有任何可能的拼写错误。

$cat theitroad.txt | aspell list

示例输出:

welcom
englsh
securty

正如我们所看到的,Aspell列出了给定文件中的拼写错误的单词。
要使用另一种语言,请使用如下所示的"-l"标志。

$cat theitroad.txt | aspell list -l es

要交互地检查文件以进行可能的拼写错误,我们可以使用:

$aspell check theitroad.txt

以下是上述命令的输出。
Aspell建议拼错单词的可能更换。
只需通过建议单词输入相关数字即可选择正确的单词。

我键入1(第一个):

选择正确的拼写后,Aspell会用正确的单词更新文件,并自动移动到另一个单词并显示建议等。

如果我们认为拼写对所选单词正确,请键入"i"以忽略或者键入'a'以将单词添加到字典中。
这对Linux命令或者词典中未列出的任何技术单词都很有用。

我们还可以使用自己的拼写键入"r"以替换所选单词,然后按Enter更新更改。

要为所选单词添加小写,请键入"L"。
一旦我们纠正了所有单词,我们将在输出中看到任何内容。

再次,如果我们想用不同的语言检查拼写,只需使用前面示例中提到的"L"。

推荐阅读:

  • 如何在VIM文本编辑器中使用拼写检查功能

手动添加词典

分发默认存储库中可能无法使用某些词典。
例如,Arch Linux默认存储库中不可用泰米尔语言词典。
所以,我别无选择,只能编译并从源中安装,如下所述。

从这里下载我们选择的最佳词典。

$wget https://ftp.gnu.org/gnu/aspell/dict/ta/aspell6-ta-20040424-1.tar.bz2

提取下载的存档:

$tar xvf aspell6-ta-20040424-1.tar.bz2

转到Aspell目录:

$cd aspell6-ta-20040424-1/

如下编译并安装:

$./configure
$make
$sudo make install

成功安装字典后,我们将看到新安装的字典:

$aspell dicts
[...]
en_US
en_US-variant_0
en_US-variant_1
en_US-w_accents
en_US-wo_accents
es
ta

其中TA是泰米尔语言的语言代码。

现在,我们可以使用新字典检查拼写,如下所示。

$echo வணக்கம் | aspell -a -l ta