DICT形式で辞書から単語リストを取得する

DICT形式で辞書から単語リストを取得する

研究/参照の目的でラテン語の単語のリストが必要です。 (良い/usr/share/dict/words

対応する単語リスト()はないようですがapt-file search /usr/share/dict | sort | uniq | grep latin、DICT英国語辞書:はありますdict-freedict-eng-lat

単語リストを簡単に入手する方法はありますか?

迅速な手動解析を試みましたが、少し解析する必要が.dzあるsedほど形式が複雑に見えます。dictunformatコマンドを試しましたが生成されます。c5 データベースバイナリ形式のようです。そのようなファイルと対話するツールが見つかりません。

ベストアンサー1

zcat /usr/share/dictd/freedict-eng-lat.dict.dz | perl -e 'my %dict; $start=0; $/="\n"; while (<>) { next if $_ =~ m/(\/|\x90)/; chomp; $_ =~ s/[0-9\. ]*//g; $start = 1 if $_ eq 'abecedarium'; next if $start==0; @words=split(/\;/,$_); foreach my $word (@words) { $dict{$word}=1;} }; $,="\n"; print sort keys %dict;'

ファイルを解凍するには、以下を含むすべての英語の行をスキップします。/発音する/、奇妙なDLE文字を含む行をスキップし、最初の実際の単語に達するまですべてのヘッダー行をスキップします。「ベース」、数字、ドット、スペースを削除し、";"各単語をハッシュに追加して一意の項目を取得します。最後に、$で区切られたすべての単語を印刷し、改行文字に設定します。\N

出力例:

ager
agere
agna
agnellina
agnina

おすすめ記事