私は、テキストファイルに次のコマンドを使用しようとしているが失敗しました:ソート:文字列比較は無効または不完全なマルチバイト文字またはワイド文字
私は次のエラーメッセージを取得しかし$ 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コマンドを使うことができますか?
'dos2unix'は1行になりません。 Unixの行末を理解していないのはWindowsのツールだけです。 Windowsのエディタを使ってUnixファイルを見るのではなく、 'vi'のようなUnixエディタを使うと、各行が1行に表示されます。また、Windowsソートプログラムではなく、cygwinソートプログラムを使用していることを確認してください。 '/ usr/bin/sort'を使って確認してください。 – Jens
ああ、私は参照してください。私の問題はまだ解決されていませんが、元の質問からあまりにも遠く離れてしまったので、別の問題を作成しました。私は今、この質問を終了します。助けてくれてありがとう。 – hjalpmig