2016-03-29 98 views
1

私は、テキストファイルに次のコマンドを使用しようとしているが失敗しました:ソート:文字列比較は無効または不完全なマルチバイト文字またはワイド文字

私は次のエラーメッセージを取得しかし
$ sort <m.txt | uniq -c | sort -nr >m.dict 

sort: string comparison failed: Invalid or incomplete multibyte or wide character 
sort: Set LC_ALL='C' to work around the problem. 
sort: The strings compared were ‘enwedig\r’ and ‘mwy\r’. 

私はWindows 7でCygwinを使用していて、以前はm.txtを編集して、ファイル内の各単語を改行してしまいました。参照してください:

Using AWK to place each word in a text file on a new line

を私はPythonでウェールズのテキストで働いていたときは(私はこれによるこれらのエラーを取得していた場合、またはm.txtはウェールズ語のアルファベットから文字を含んでいるので、私はわからないんだけど、私はエンコーディングを 'Latin-1'に変更する必要がありました)。

私はエラーメッセージのアドバイスに従って、LC_ALL = 'C'を変更しようとしましたが、これは役に立ちませんでした。誰もが私が受け取っているエラーを詳述し、私がこの問題を解決しようとするかもしれない方法についてアドバイスを提供することができます。

UPDATE:

DOS2UNIXをしようとすると、エラーが特定の行で無効な文字については表示されていました。それは、これらがウェールズ文字ではなく、他の奇妙な文字(矢印など)であることが分かります。エラーなしでdos2unixコマンドを使用できるようになるまで、これらの文字を削除してテキストファイルを調べました。しかし、dos2unixコマンドを使用した後は、すべてのテキストが連結されていました(スペースや改行などはありませんでしたが、ファイル内の各単語が別々の行にあるはずでした)。次にunix2dosを使用し、 。どのように私は自分の個々の行に各単語を置くことができ、 'r'文字についてエラーを出すことなくsortコマンドを使うことができますか?

+0

'dos2unix'は1行になりません。 Unixの行末を理解していないのはWindowsのツールだけです。 Windowsのエディタを使ってUnixファイルを見るのではなく、 'vi'のようなUnixエディタを使うと、各行が1行に表示されます。また、Windowsソートプログラムではなく、cygwinソートプログラムを使用していることを確認してください。 '/ usr/bin/sort'を使って確認してください。 – Jens

+0

ああ、私は参照してください。私の問題はまだ解決されていませんが、元の質問からあまりにも遠く離れてしまったので、別の問題を作成しました。私は今、この質問を終了します。助けてくれてありがとう。 – hjalpmig

答えて

1

Windowsの行末に関連する問題(\r\n\n)のように見えます。あなたは

dos2unix m.txt 

とUnixの行末にm.txtを変換してからコマンドを再実行することができます。

+0

こんにちは、これは、 "dos2unix:バイナリシンボル0x1A行11451024 dos2unix:バイナリファイルm.txtをスキップして"見つかったと私は元のコマンドを試してみるとき、私は同じエラーを取得します。何か案は? – hjalpmig

+0

@hjalpmigファイルの* encoding *を知っていますか?私。それはUTF-8、WindowsコードページX、その他のエンコーディングですか?このファイルはどのように作成されましたか? Windowsのエディタで開くとうまく見えますか? – Jens

+0

テキストエディタ(メモ帳)で開くと正常に見えます。私はエンコーディングについて完全にはわかりませんが、それには:â、ê、î、ô、û、ŵ、Wなどのウェールズ語の文字が含まれています。私もdos2unixを-fコマンドで試してみましたが、実行しますが、同じエラーをソートしようとするとエラーが発生します。 – hjalpmig

0

古い質問ですが、export LC_ALL='C'コマンドを実行すると、sort: Set LC_ALL='C' to work around the problem.で説明されているようなトリックが実行されます。

関連する問題