Используйте многоязычный словарь с aspell

Если возможно, было бы создать массив с этими элементами из глобуса, тогда вы могли бы увидеть, есть ли в массиве какие-либо элементы. Например:

cur_opt=$(shopt -p nullglob) # get current status so we can restore
shopt -s nullglob # to let the glob expand to nothing
txt_files=( *txt )
$cur_opt # restore nullglob setting to what it was before
if [ ${#txt_files} -gt 0 ]; then
    ...
fi

тогда, если вы хотите работать с файлами, вы также можете перебирать массив, а не просто проверять, есть ли в массиве какие-либо элементы

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

if [ ! -z "$(compgen -G "*.txt") ]; then
    ...
fi

, это также может просто проверить возврат для compgen , так что может быть

if compgen -G "*.txt" &>/dev/null; then
    ...
fi
2
01.02.2017, 13:39
1 ответ

Итак, вот моя инструкция:

Шаг 1: Найдите словари aspell в вашей системе. Я нашел их в / usr / lib / aspell / . Вы увидите файлы .multi и .rws . Все следующие команды должны выполняться в этом каталоге.

Шаг 2: Создайте списки слов из нужных словарей. Если в словарях есть аффиксы, хранящиеся вместе со словами, вам необходимо их расширить.

aspell --lang=en --master=en.multi  dump master > /home/user/meinwoerterbuch.txt
aspell -d de dump master | aspell -l de expand | perl -e 'while(<>){ print join("\n", split), "\n";}' >> /home/user/meinwoerterbuch.txt 

Здесь пришлось расширить немецкий словарь, и, поскольку мне нужно было по одному слову в строке, я использовал perl, чтобы брать несколько слов в строку и печатать каждое из них в дополнительной строке. Просто посмотрите на вывод aspell (я рекомендую head ), чтобы узнать, нужно ли вам расширять словарь.

Шаг 3: Выберите название языка для вашего словаря. Я выбрал венгерский, потому что уверен, что никогда не буду использовать венгерский словарь для проверки орфографии, и тогда его будет легко найти. Я думаю, это должно быть что-то с действующим языковым кодом ISO. Для венгерского это hu .

Шаг 4. Создайте файлы hu.dat и hu_phonet.dat . Наиболее урезанные версии, которые кажутся работоспособными:

hu.dat :

name hu 
charset iso8859-1
soundslike hu 

hu_phonet.dat :

version 0.1-2002.12.15-3

Шаг 5: Создайте свой объединенный словарь с помощью

sudo aspell --lang=hu --encoding=utf-8 create master ./hu.rws < /home/user/meinwoerterbuch.txt

Мне пришлось поставить encoding = utf-8, потому что текстовый файл закодирован в utf-8. Без него выкидывал ошибки.

Шаг 6. Создайте соответствующий ху.multi файл следующим образом:

add hu.rws

Шаг 7: Выберите венгерский в вашей проверке орфографии и запустите проверку орфографии.

3
27.01.2020, 22:10

Теги

Похожие вопросы