千鋒扣丁學(xué)堂Linux培訓(xùn)之解決拼寫問題
2019-06-18 13:31:25
1709瀏覽
今天千鋒扣丁學(xué)堂Linux培訓(xùn)老師給大家分享一篇關(guān)于如何用Linux幫助你拼寫的詳細(xì)介紹,首先Linux為數(shù)據(jù)分析和自動(dòng)化提供了各種工具,它也幫助我們解決了一個(gè)一直都在糾結(jié)的問題——拼寫!無論在寫每周報(bào)告時(shí)努力拼出一個(gè)單詞,還是在提交商業(yè)計(jì)劃書之前想要借助計(jì)算機(jī)的“眼睛”來找出你的拼寫錯(cuò)誤?,F(xiàn)在我們來看一下它是如何幫助你的。
look是其中一款工具。如果你知道一個(gè)單詞的開頭,你就可以用這個(gè)命令來獲取以這些字母開頭的單詞列表。除非提供了替代詞源,否則look將使用/usr/share/dict/words中的內(nèi)容來為你標(biāo)識(shí)單詞。這個(gè)文件有數(shù)十萬(wàn)個(gè)單詞,可以滿足我們?nèi)粘J褂玫拇蠖鄶?shù)英語(yǔ)單詞的需要,但是它可能不包含我們計(jì)算機(jī)領(lǐng)域中的一些人傾向于使用的更加生僻的單詞,如zettabyte。
look命令的語(yǔ)法非常簡(jiǎn)單。輸入lookword,它將遍歷單詞文件中的所有單詞并找到匹配項(xiàng)。
$ look amelio
ameliorable
ameliorableness
ameliorant
ameliorate
ameliorated
ameliorates
ameliorating
amelioration
ameliorations
ameliorativ
ameliorative
amelioratively
ameliorator
amelioratory
如果你遇到系統(tǒng)中單詞列表中未包含的單詞,將無法獲得任何輸出。
$ look zetta
$
如果你沒有看到你所希望出現(xiàn)的單詞,也不要絕望。你可以在你的單詞文件中添加單詞,甚至引用一個(gè)完全不同的單詞列表,在網(wǎng)上找一個(gè)或者干脆自己創(chuàng)建一個(gè)。你甚至不必將添加的單詞放在按字母順序排列的正確位置;只需將其添加到文件的末尾即可。但是,你必須以root用戶身份執(zhí)行此操作。例如(要注意>>?。?br />
# echo “zettabyte” >> /usr/share/dict/words
當(dāng)使用不同的單詞列表時(shí),例如這個(gè)例子中的“jargon”,你只需要添加文件的名稱。如果不采用默認(rèn)文件時(shí),請(qǐng)使用完整路徑。
$ look nybble /usr/share/dict/jargon
nybble
nybbles
look命令大小寫不敏感,因此你不必關(guān)心要查找的單詞是否應(yīng)該大寫。
$ look zet
ZETA
Zeta
zeta
zetacism
Zetana
zetas
Zetes
zetetic
Zethar
Zethus
Zetland
Zetta
當(dāng)然,不是所有的單詞列表都是一樣的。一些Linux發(fā)行版在單詞文件中提供了多得多的內(nèi)容。你的文件中可能有十萬(wàn)或者更多倍的單詞。
在我的一個(gè)Linux系統(tǒng)中:
$ wc -l /usr/share/dict/words
102402 /usr/share/dict/words
在另一個(gè)系統(tǒng)中:
$ wc -l /usr/share/dict/words
479828 /usr/share/dict/words
請(qǐng)記住,look命令只適用于通過單詞開頭查找,但如果你不想從單詞的開頭查找,還可以使用其他選項(xiàng)。
grep
我們深愛的grep命令像其他工具一樣可以從一個(gè)單詞文件中選出單詞。如果你正在找以某些字母開頭或結(jié)尾的單詞,使用grep命令是自然而然的事情。它可以通過單詞的開頭、結(jié)尾或中間部分來匹配單詞。系統(tǒng)中的單詞文件可以像使用look命令時(shí)在grep命令中輕松使用。不過唯一的缺點(diǎn)是你需要指定文件,這一點(diǎn)與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
在單詞的結(jié)尾后加上$:
$ grep bytes$ /usr/share/dict/words
bytes
gigabytes
kilobytes
megabytes
terabytes
使用grep時(shí),你需要考慮大小寫,不過grep命令也提供了一些選項(xiàng)。
$ 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命令提供了一種不同的方式。它提供了一種方法來檢查你提供給它的任何文件或文本的拼寫。你可以通過管道將文本傳遞給它,然后它會(huì)告訴你哪些單詞看起來有拼寫錯(cuò)誤。如果所有單詞都拼寫正確,則不會(huì)有任何輸出。
$ 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參數(shù)告訴aspell為標(biāo)準(zhǔn)輸入單詞提供拼寫錯(cuò)誤的單詞列表。
你還可以使用aspell來定位和更正文本文件中的單詞。如果它發(fā)現(xiàn)一個(gè)拼寫錯(cuò)誤的單詞,它將為你提供一個(gè)相似(但拼寫正確的)單詞列表來替換這個(gè)單詞,你也可以將該單詞加入個(gè)人詞庫(kù)(~/.aspell.en.pws)并忽略拼寫錯(cuò)誤,或者完全中止進(jìn)程(使文件保持處理前的狀態(tài))。
$ aspell -c mytext
一旦aspell發(fā)現(xiàn)一個(gè)單詞出現(xiàn)了拼寫錯(cuò)誤,它將會(huì)為不正確的“mispell”提供一個(gè)選項(xiàng)列表:
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
請(qǐng)注意,備選單詞和拼寫是數(shù)字編號(hào)的,而其他選項(xiàng)是由字母選項(xiàng)表示的。你可以選擇備選拼寫中的一項(xiàng)或者自己輸入替換項(xiàng)?!癆bort”選項(xiàng)將使文件保持不變,即使你已經(jīng)為某些單詞選擇了替換。你選擇添加的單詞將被插入到本地單詞文件中(例如~/.aspell.en.pws)。
其他單詞列表
厭倦了英語(yǔ)?aspell命令可以在其他語(yǔ)言中使用,只要你添加了相關(guān)語(yǔ)言的單詞列表。例如,在Debian系統(tǒng)中添加法語(yǔ)的詞庫(kù),你可以這樣做:
$ sudo apt install aspell-fr
這個(gè)新的詞庫(kù)文件會(huì)被安裝為/usr/share/dict/French。為了使用它,你只需要簡(jiǎn)單地告訴aspell你想要使用替換的單詞列表:
$ aspell --lang=fr -c mytext
這種情況下,當(dāng)aspell讀到單詞“one”時(shí),你可能會(huì)看到下面的情況:
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
以上就是關(guān)于千鋒扣丁學(xué)堂Linux培訓(xùn)之解決拼寫問題的全部?jī)?nèi)容,
想要學(xué)好Linux開發(fā)小編給大家推薦口碑良好的扣丁學(xué)堂,扣丁學(xué)堂有專業(yè)老師制定的Linux學(xué)習(xí)路線圖輔助學(xué)員學(xué)習(xí),此外還有與時(shí)俱進(jìn)的Linux課程體系和Linux視頻教程供大家學(xué)習(xí),想要學(xué)好Linux開發(fā)技術(shù)的小伙伴快快行動(dòng)吧??鄱W(xué)堂Linux技術(shù)交流群:422345477。
【關(guān)注微信公眾號(hào)獲取更多學(xué)習(xí)資料】 【掃碼進(jìn)入HTML5前端開發(fā)VIP免費(fèi)公開課】
查看更多關(guān)于“Linux培訓(xùn)資訊”的相關(guān)文章>>
標(biāo)簽:
Linux培訓(xùn)
Linux視頻教程
紅帽Linux視頻
Linux學(xué)習(xí)視頻
Linux入門視頻