無論你是糾結一個難以理解的單詞,還是在將報告發給老闆之前再檢查一遍,Linux 都可以幫助你解決拼寫問題。
Linux 為資料分析和自動化提供了各種工具,它也幫助我們解決了一個一直都在糾結的問題 —— 拼寫!無論在寫每週報告時努力拼出一個單詞,還是在提交商業計劃書之前想要藉助計算機的“眼睛”來找出你的拼寫錯誤。現在我們來看一下它是如何幫助你的。
look
look
是其中一款工具。如果你知道一個單詞的開頭,你就可以用這個命令來獲取以這些字母開頭的單詞列表。除非提供了替代詞源,否則 look
將使用 /usr/share/dict/words
中的內容來為你標識單詞。這個檔案有數十萬個單詞,可以滿足我們日常使用的大多數英語單詞的需要,但是它可能不包含我們計算機領域中的一些人傾向於使用的更加生僻的單詞,如 zettabyte。
look
命令的語法非常簡單。輸入 look word
,它將遍歷單詞檔案中的所有單詞並找到匹配項。
$ look amelio
ameliorable
ameliorableness
ameliorant
ameliorate
ameliorated
ameliorates
ameliorating
amelioration
ameliorations
ameliorativ
ameliorative
amelioratively
ameliorator
amelioratory
如果你遇到系統中單詞列表中未包含的單詞,將無法獲得任何輸出。
$ look zetta
$
如果你沒有看到你所希望出現的單詞,也不要絕望。你可以在你的單詞檔案中新增單詞,甚至引用一個完全不同的單詞列表,在網上找一個或者乾脆自己建立一個。你甚至不必將新增的單詞放在按字母順序排列的正確位置;只需將其新增到檔案的末尾即可。但是,你必須以 root 使用者身份執行此操作。例如(要注意 >>
!):
# echo “zettabyte” >> /usr/share/dict/words
當使用不同的單詞列表時,例如這個例子中的 “jargon” ,你只需要新增檔案的名稱。如果不採用預設檔案時,請使用完整路徑。
$ look nybble /usr/share/dict/jargon
nybble
nybbles
look
命令大小寫不敏感,因此你不必關心要查詢的單詞是否應該大寫。
$ look zet
ZETA
Zeta
zeta
zetacism
Zetana
zetas
Zetes
zetetic
Zethar
Zethus
Zetland
Zetta
當然,不是所有的單詞列表都是一樣的。一些 Linux 發行版在單詞檔案中提供了多得多的內容。你的檔案中可能有十萬或者更多倍的單詞。
在我的一個 Linux 系統中:
$ 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
工具,加上 look
和 grep
命令已經準備來助你一臂之力了。
via: https://www.networkworld.com/article/3400942/how-linux-can-help-with-your-spelling.html
作者:Sandra Henry-Stocker 選題:lujun9972 譯者:Modrisco 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出