クリーンなtxtドキュメントを取得する必要があり、最初のアプローチはaspellを使用することです。問題は、インタラクティブモードではなく、バッチで必要なことです。すべてのtxtファイルはaspellにパイプされ、非辞書の単語が削除された新しいドキュメントを返す必要があります。
私はちょうど逆の振る舞いを見つけました:を使用して非辞書の単語をリストしてください
cat $file | aspell list | sort -u -f
Aspellは、そのクリーンなドキュメントフォルダーを実現するための正しいツールですか?スペルミスのある単語の自動置換はどうですか? (事前定義されたリストファイルを使用)
_sed -E -e "s/$(aspell list <file | sort -u | paste -s -d'|' |
sed -e 's/^/\\b(/; s/$/)\\b/' )//g" \
file > newfile
_
これは コマンド置換$(...)
を使用して、_aspell list <$file
_の出力をsed
検索および置換操作に挿入します。
aspell
の出力も一意にソートされ、paste
は各行を_|
_で結合するために使用されます。最後に、sedを介してパイプ処理され、_\b
_単語境界アンカーと、開き括弧と閉じ括弧が追加されます。これらはすべて、\b(Word1|Word2|Word3|...)\b
のような有効な拡張正規表現を作成して、sed
search andreplaceコマンドの検索正規表現として使用します。
コマンド全体の結果は、たとえば_diff -u file newfile
_でテストできます。
AFAIK、aspell
にはオートコレクトモードがありません。これはおそらく良いことです。