2011-07-23 7 views
1

ポーランド語の一部を<から英語の辞書をRTFからHTMLに変換しています。ポーランドの特殊文字がうまく出てきています。しかしIPA(International Phonetic Alphabet)の絵文字は、私が変換に使用するプログラムに応じて面白いものに変わります。たとえば、/biːrɪ/は/ÈbiùrI/または/∪βιρΙ/となります。UTF-8文書の一意の文字列を列挙する方法は?セド?

私はこれらの文書を検索&で置き換えて訂正したいと思いますが、私はどの文字も見逃していないことを確認したいのです。私はすべてのユニークな、非アスキー文字のリストを文書に出力したいと思います。 |
のsed -e "sの/./ \ 0 \ N/gの" 入力ファイル:

は、私がこのスレッドが見つかりました: Find Unique Characters in a File

を...と私は、次の2つの提案を試してみましたsort -u
sed -e "s /(。)/ \ 1 \ n/g" inputfile | sort -u

どちらもうまく動作し、両方とも同じ出力を生成しているようです。私の問題は、標準のASCII文字のみを出力することです。私が探しているのは正反対です。

sedツールはすばらしく見えますが、私はすぐにそれを学ぶ時間がありません(後で説明します)。私は、このツールを既にマスターしている人には解決策が明らかになると思っています。 [ - :

ありがとうございます!

答えて

1

これはsedソリューションではなく、Pythonソリューションです。ファイルの内容を読み取ってUTF-8として取り出し、それをセットにして(重複を取り除く)、ASCII文字(0〜127)をスローしてソートし、ブランクで再び結合します各文字間の線:あなたがその気感じた場合は、コマンドラインから実行したいものとして

'\n'.join(sorted(set(unicode(open(inputfile).read(), 'utf-8')) - set(chr(i) for i in xrange(128)))) 

python -c "print '\n'.join(sorted(set(unicode(open('inputfile').read(), 'utf-8')) - set(chr(i) for i in xrange(128))))" 

(あなたがもせずに文字をリストし''.join代わりの'\n'.joinを使用することができますその間の改行文字)

+0

Wor魅力のようなked、感謝のヒープ! [ - : –

関連する問題