ispellを使用し、3つの入力からなる辞書を使用したいアプリケーションがあります。
- 基本言語辞書(私の場合は英語、システムで提供)
- 手動で選択された単語のリスト(単語を「挿入」するようにispellに要求することをこのリストに追加する必要があります)。
- 動的に生成された作品のリスト。
重要なのは、最後のソースが定期的に再生成されることです。削除するこの単語は、他の2つのソースに現れることも、現れないこともあります。
- これを行う方法はありますか?
- 同様の機能セットを持つ代替スペルチェッカーを使用してこれを行う方法はありますか?
各目的に合わせて辞書を作成して、何かを偽にすることができます。
ispell -p <(cat local.dict dynamic.dict | sort -u) $FILE
しかし、新しい単語を追加する必要がある瞬間、これは機能しませんlocal.dict
。 ispellは元のファイルを見つけることができないので、明らかに変更することはできません。
何度も合格したい-p
ispell -p local.dict -p dynamic.dict $FILE
しかし、最後のものだけが目立つようです。
$PWD/.ispell_words
私はispellがandのマージを使用するという事実を利用しようとしました$HOME/.ispell_words
(これは書き直さなければなりませんでした$HOME
)。これは実際にはほとんどの場合に機能しますが、新しい単語を追加するときにispellが次のように書くようです。マージ現在、動的辞書のすべての内容を永続静的辞書にコピーします。
この時点で、私は英語辞書とカスタム辞書を一時ファイルにマージして渡すことについて考え始めました-d
。
答え1
hunspell
(インストールできる場合はシステムに関する情報はありません。)-d
このフラグを持つ複数の辞書を許可します。辞書形式と個人辞書仕様の詳細については、マンページ(-p
)を参照してください。
-d dict,dict2,...
Set dictionaries by their base names with or without paths. Example of the syntax:
-d en_US,en_geo,en_med,de_DE,de_med
詳細は以下で確認できます。マニュアルページ。