如何用 Linux 帮助你拼写

不管你是纠结一个难以理解的单词,仍是在将报告发给老板以前再检查一遍,Linux 均可以帮助你解决拼写问题。html

Sandra Henry-Stocker

Linux 为数据分析和自动化提供了各类工具,它也帮助咱们解决了一个一直都在纠结的问题 —— 拼写!不管在写每周报告时努力拼出一个单词,仍是在提交商业计划书以前想要借助计算机的“眼睛”来找出你的拼写错误。如今咱们来看一下它是如何帮助你的。linux

look

look 是其中一款工具。若是你知道一个单词的开头,你就能够用这个命令来获取以这些字母开头的单词列表。除非提供了替代词源,不然 look 将使用 /usr/share/dict/words 中的内容来为你标识单词。这个文件有数十万个单词,能够知足咱们平常使用的大多数英语单词的须要,可是它可能不包含咱们计算机领域中的一些人倾向于使用的更加生僻的单词,如 zettabyte。git

look 命令的语法很是简单。输入 look word ,它将遍历单词文件中的全部单词并找到匹配项。github

$ look amelio
ameliorable
ameliorableness
ameliorant
ameliorate
ameliorated
ameliorates
ameliorating
amelioration
ameliorations
ameliorativ
ameliorative
amelioratively
ameliorator
amelioratory
复制代码

若是你遇到系统中单词列表中未包含的单词,将没法得到任何输出。api

$ look zetta
$
复制代码

若是你没有看到你所但愿出现的单词,也不要绝望。你能够在你的单词文件中添加单词,甚至引用一个彻底不一样的单词列表,在网上找一个或者干脆本身建立一个。你甚至没必要将添加的单词放在按字母顺序排列的正确位置;只需将其添加到文件的末尾便可。可是,你必须以 root 用户身份执行此操做。例如(要注意 >>!):bash

# echo “zettabyte” >> /usr/share/dict/words
复制代码

当使用不一样的单词列表时,例如这个例子中的 “jargon” ,你只须要添加文件的名称。若是不采用默认文件时,请使用完整路径。app

$ look nybble /usr/share/dict/jargon
nybble
nybbles
复制代码

look 命令大小写不敏感,所以你没必要关心要查找的单词是否应该大写。工具

$ look zet
ZETA
Zeta
zeta
zetacism
Zetana
zetas
Zetes
zetetic
Zethar
Zethus
Zetland
Zetta
复制代码

固然,不是全部的单词列表都是同样的。一些 Linux 发行版在单词文件中提供了多得多的内容。你的文件中可能有十万或者更多倍的单词。ui

在个人一个 Linux 系统中:spa

$ wc -l /usr/share/dict/words
102402 /usr/share/dict/words
复制代码

在另外一个系统中:

$ wc -l /usr/share/dict/words
479828 /usr/share/dict/words
复制代码

请记住,look 命令只适用于经过单词开头查找,但若是你不想从单词的开头查找,还可使用其余选项。

grep

咱们深爱的 grep 命令像其余工具同样能够从一个单词文件中选出单词。若是你正在找以某些字母开头或结尾的单词,使用 grep 命令是天然而然的事情。它能够经过单词的开头、结尾或中间部分来匹配单词。系统中的单词文件能够像使用 look 命令时在 grep 命令中轻松使用。不过惟一的缺点是你须要指定文件,这一点与 look 不尽相同。

在单词的开头前加上 ^

$ grep ^terra /usr/share/dict/words
terrace
terrace's terraced terraces terracing terrain terrain's
terrains
terrapin
terrapin's terrapins terraria terrarium terrarium's
terrariums
复制代码

在单词的结尾后加上 $

$ grep bytes$ /usr/share/dict/words
bytes
gigabytes
kilobytes
megabytes
terabytes
复制代码

使用 grep 时,你须要考虑大小写,不过 grep 命令也提供了一些选项。

$ grep ^[Zz]et /usr/share/dict/words
Zeta
zeta
zetacism
Zetana
zetas
Zetes
zetetic
Zethar
Zethus
Zetland
Zetta
zettabyte
复制代码

为单词文件添加软链接能使这种搜索方式更加便捷:

$ ln -s /usr/share/dict/words words
$ grep ^[Zz]et words
Zeta
zeta
zetacism
Zetana
zetas
Zetes
zetetic
Zethar
Zethus
Zetland
Zetta
zettabytye
复制代码

aspell

aspell 命令提供了一种不一样的方式。它提供了一种方法来检查你提供给它的任何文件或文本的拼写。你能够经过管道将文本传递给它,而后它会告诉你哪些单词看起来有拼写错误。若是全部单词都拼写正确,则不会有任何输出。

$ echo Did I mispell that? | aspell list
mispell
$ echo I can hardly wait to try out aspell | aspell list
aspell
$ echo Did I misspell anything? | aspell list
$
复制代码

list 参数告诉 aspell 为标准输入单词提供拼写错误的单词列表。

你还可使用 aspell 来定位和更正文本文件中的单词。若是它发现一个拼写错误的单词,它将为你提供一个类似(但拼写正确的)单词列表来替换这个单词,你也能够将该单词加入我的词库(~/.aspell.en.pws)并忽略拼写错误,或者彻底停止进程(使文件保持处理前的状态)。

$ aspell -c mytext
复制代码

一旦 aspell 发现一个单词出现了拼写错误,它将会为不正确的 “mispell” 提供一个选项列表:

1) mi spell                             6) misplay
2) mi-spell                             7) spell
3) misspell                             8) misapply
4) Ispell                               9) Aspell
5) misspells                            0) dispel
i) Ignore                               I) Ignore all
r) Replace                              R) Replace all
a) Add                                  l) Add Lower
b) Abort                                x) Exit
复制代码

请注意,备选单词和拼写是数字编号的,而其余选项是由字母选项表示的。你能够选择备选拼写中的一项或者本身输入替换项。“Abort” 选项将使文件保持不变,即便你已经为某些单词选择了替换。你选择添加的单词将被插入到本地单词文件中(例如 ~/.aspell.en.pws)。

其余单词列表

厌倦了英语? aspell 命令能够在其余语言中使用,只要你添加了相关语言的单词列表。例如,在 Debian 系统中添加法语的词库,你能够这样作:

$ sudo apt install aspell-fr
复制代码

这个新的词库文件会被安装为 /usr/share/dict/French。为了使用它,你只须要简单地告诉 aspell 你想要使用替换的单词列表:

$ aspell --lang=fr -c mytext
复制代码

这种状况下,当 aspell 读到单词 “one” 时,你可能会看到下面的状况:

1) once                                 6) orné
2) onde                                 7) ne
3) ondé                                 8) né
4) onze                                 9) on
5) orne                                 0) cône
i) Ignore                               I) Ignore all
r) Replace                              R) Replace all
a) Add                                  l) Add Lower
b) Abort                                x) Exit
复制代码

你也能够从 GNU 官网获取其余语言的词库。

总结

即便你是全国拼字比赛的冠军,你可能偶尔也会须要一点拼写方面的帮助,哪怕只是为了找出你手滑打错的单词。aspell 工具,加上 lookgrep 命令已经准备来助你一臂之力了。


via: www.networkworld.com/article/340…

做者:Sandra Henry-Stocker 选题:lujun9972 译者:Modrisco 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关文章
相关标签/搜索