Как запустить проверку орфографии на нескольких файлах и отобразить любые неправильные слова в оболочке script?

У меня есть несколько файлов, которые я хочу проверить. Обычно я открывал их в vim, запускал :set spell и делал изменения. Однако очень сложно открывать файлы и вручную проверять, не сбрасывал ли я какие-либо слова с момента последней проверки.

Есть ли способ запустить проверку орфографии на большом количестве файлов и отобразить найденные неправильно написанные слова вместе с именем файла, чтобы я мог пойти и изменить их? Я не хочу открывать каждый файл, проверять, "он чист", затем открыть следующий и повторить.

Я не могу найти утилиту проверки орфографии POSIX. Некоторые дистрибутивы Linux на основе Red Hat, предположительно, имеют spell или аналогичные, но я бы предпочел использовать кросс-платформенный (ish) метод. Я знаю, что vim может проверять орфографию - есть ли способ проверки орфографии, не делая все это вручную? Было бы фантастически, если бы я мог использовать оболочку script.

Я запускаю OS X, для чего это стоит.

Ответы

Ответ 1

Вы можете установить aspell с Homebrew в OS X. brew info aspell перечисляет поддерживаемые языки.

brew install aspell --lang=en,fi,jp

aspell check открывает файл в интерактивной проверке орфографии:

for f in *.txt; do aspell check $f; done

aspell list печатает все непризнанные слова:

cat *.txt | aspell list | sort -u

Исходные слова хранятся в .aspell.en.pws по умолчанию. Вы также можете исключить слова в ~/Library/Spelling/en после добавления personal_ws-1.1 en в качестве первой строки.

aspell list --personal=$HOME/Library/Spelling/en

Ответ 2

Используя aspell, это напечатает каждое имя файла, а затем отсортированный список слов с ошибкой вместе с количеством раз, когда они происходят:

for f in *.txt ; do echo $f ; aspell list < $f | sort | uniq -c ; done