Проверка орфографии - игнорировать набор слов
Я делаю bash скрипт для проверки орфографии по количеству файлов.
Я столкнулся с проблемой сказать aspell игнорировать некоторые слова, которые я позволяю появиться.
Это то же самое, что "Игнорировать все" в интерактивном режиме. Но это не сработает, так как мне нужно было бы сделать это вручную.
Как я могу сказать Aspell игнорировать данный набор слов. Есть ли параметр, который может сделать это. Хотелось бы, чтобы была возможность передать файл с этими словами.
Или может быть есть более эффективный способ проверки орфографии в bash?
2 ответа
Легко: поместите ваши слова в личный словарь: ~/.aspell.en.pws
где первая строка
personal_ws-1.1 en 500
(500 - это количество слов, не обязательно должно быть точным, Aspell исправит это, если вы добавите слова с помощью Aspell).
Если вам нужен словарь, чтобы быть в другом месте, используйте параметры, подобные этим:
aspell --home-dir=/dir/to/dict --personal=dict-file.txt
Это написано в комбинации оболочки и псевдокода. Это не похоже на самый эффективный способ; парсинг двух массивов и проверка результатов занимают больше памяти и циклов, чем необходимо.
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