Если возможно, было бы создать массив с этими элементами из глобуса, тогда вы могли бы увидеть, есть ли в массиве какие-либо элементы. Например:
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
Итак, вот моя инструкция:
Шаг 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: Выберите венгерский в вашей проверке орфографии и запустите проверку орфографии.