如何用 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中國 榮譽推出

相關文章
相關標籤/搜索