拼写检查 - 忽略一组单词

时间:2011-02-09 12:49:02

标签: bash spell-checking aspell

我正在使用bash脚本来检查文件数量的拼写。

我遇到了告诉aspell忽略我允许出现的一些单词的问题。

这与交互模式中的“忽略全部”相同。但这不会起作用,因为我需要手工完成。

我如何告诉aspell忽略给定的单词集。有没有任何参数可以做到这一点。 我希望有一个选项可以用这些词传递文件。

或者可能在bash中使用更有效的方法进行拼写检查?

2 个答案:

答案 0 :(得分:5)

简单:将您的文字放在个人词典中:~/.aspell.en.pws第一行是

personal_ws-1.1 en 500 

(500是单词的数量,不需要精确,如果你用aspell添加单词,aspell会修复它。)

如果您需要将字典放在其他位置,请使用以下选项:

aspell --home-dir=/dir/to/dict --personal=dict-file.txt

答案 1 :(得分:0)

这是用shell和伪代码组合编写的。它似乎不是最有效的方式;解析两个数组并检查结果会占用更多的内存和周期。

function SpellCheckInit() {
   for i in `seq 0 $(( ${#aname[@]} - 1 ))`; do
       echo Parsing...
   done
}
Dictionary=( "${dictionary[@]}" "Oxford English Dictionary" )
char=( "${words[@]}" "Text" )
echo Ignore?
read -a omt_wrds
SpellCheckInit()
words_left=${#Dictionary[@]}
until [ $words_left -lt 0]; do
   if [ "$char" = "i"]; do
      echo IGNORED
   elif [ "$char" = "$Dictionary"]; do
      echo CORRECT
   else
      for word in Dictionary
           $word > $dictionary
      done
   fi
done