Проверка орфографии - игнорировать набор слов - PullRequest
4 голосов
/ 09 февраля 2011

Я выполняю bash-скрипт для проверки орфографии по количеству файлов.

Я столкнулся с проблемой заставить aspell игнорировать некоторые слова, которые я разрешаю показывать.

Этотак же, как «Игнорировать все» в интерактивном режиме.Но это не сработает, так как мне нужно было бы сделать это вручную.

Как я могу сказать aspell игнорировать данный набор слов.Есть ли параметр, который может это сделать.Хотелось бы, чтобы была возможность передать файл с этими словами.

Или, может быть, есть более эффективный способ проверки написания сценариев в bash?

Ответы [ 2 ]

5 голосов
/ 29 апреля 2011

Легко: поместите ваши слова в личный словарь: ~/.aspell.en.pws, где первая строка:

personal_ws-1.1 en 500 

(500 - это количество слов, не должно быть точным, aspell исправит этоесли вы добавляете слова с помощью aspell).

Если вам нужно, чтобы словарь находился где-то в другом месте, используйте такие параметры:

aspell --home-dir=/dir/to/dict --personal=dict-file.txt
0 голосов
/ 30 марта 2011

Это написано в комбинации оболочки и псевдокода.Это не похоже на самый эффективный способ;парсинг двух массивов и проверка результатов занимают больше памяти и циклов, чем необходимо.

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
...