スペルによる文書のフィルタリング

スペルによる文書のフィルタリング

きれいなtxtドキュメントをインポートする必要がありますが、最初の方法はaspellを使用することです。問題は、一括で使用する必要がありますが、インタラクティブモードがないことです。各txtファイルはaspellにパイプされ、辞書にない単語が削除された新しい文書を返す必要があります。

反対の動作が見つかりました。辞書ではなく単語をリストすることです。

cat $file | aspell list | sort -u -f 

Aspellはフォルダの整理に適したツールですか?スペルが間違っている単語を自動的に変更するのはどうですか? (事前定義されたリストファイルを使用)

ベストアンサー1

sed -E -e "s/$(aspell list <file | sort -u | paste -s -d'|' |
               sed -e 's/^/\\b(/; s/$/)\\b/' )//g" \
    file > newfile

これは以下を使用します。コマンドの置き換え $(...)の出力を検索および置換操作に挿入しますaspell list <$filesed

aspellの出力も一意に整列され、各行を結合pasteするために使用されます|。最後に、 sed を介してパイプされ、\b単語境界アンカーと開かれたかっこと閉じ括弧を追加します。これらはすべて、たとえば\b(word1|word2|word3|...)\b検索コマンドと置換コマンドで検索正規表現として使用される有効な拡張正規表現を構成します。sed

以下を使用して、コマンド全体の結果をテストできます。diff -u file newfile

AFAIK、aspell自動修正モードはありません。これはおそらく良いことです。

おすすめ記事