最後の文字が異なる2つの単語(アラビア語)

最後の文字が異なる2つの単語(アラビア語)

LibreOfficeとLyXで使用するアラビア語辞書ファイルを作成しました。これには270万を超えるアラビア語の単語が含まれています。

時には単語を書くのに使うこともできますし、ه単語ةの終わりにあるなら書くのに使うこともできます。

sedorのスクリプトを使用して、最後の文字を除いて同じ単語が2つあり、tr2つの単語の最後の文字がandの場合は、含まれている単語を削除すると言いたいと思います。ةهه

入力例:

الجنة
الجنه
الشجرة
الشجره

出力:

الجنة 
الشجرة

ベストアンサー1

この試み:

awk -v TA=ة -v HA=ه '
        { orig = $0 }
        sub(HA"$", TA) { $0 in ta || ha[$0] = orig; next }
        $0 ~ TA"$" { ta[$0] = 1; delete ha[$0] }
        { print }
        END{ for(i in ha) print ha[i] }
' input_file | LC_ALL=C sort -u > output_file

私はカスタマイズを作成し、よりスマートな操作を試しましたが、LC_COLLATE成功しませんでした;-)

おすすめ記事