我正在尝试在文本文件上使用以下命令:
$ 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 'enwedigr' and 'mwyr'.
我在Windows 7上使用Cygwin,并且在编辑m.txt时遇到了麻烦,要将文件中的每个单词放在一行中。 请参见:
设置grep行尾字符
Cygwinterminal和zsh用户名中使用的奇怪字符
用Cygwin安装pzmq
安装cygwin后Git Bash破碎
让gcloud在Cygwin Windows中工作
我不知道是由于这个原因得到这些错误还是因为m.txt包含威尔士字母表中的字符(当我在Python中使用威尔士语文本时,我被要求将编码改为'Latin-1 “)。
我试着按照错误信息的build议和改变LC_ALL ='C',但是这并没有帮助。 任何人都可以详细说明我收到的错误,并就如何解决这个问题提供任何build议。
更新:
尝试dos2unix时,在某些行显示有关无效字符的错误。 事实certificate,这些不是威尔士人的字符,但其他奇怪的字符(箭头等)。 我通过我的文本文件删除这些字符,直到我能够使用dos2unix命令没有错误。 但是,使用dos2unix命令后,所有的文本连接(没有空格/换行符或任何东西,而应该是这样,文件中的每个单词是在一个单独的行),然后我使用unix2dos和文本文件恢复正常。 我怎么能每个单词在自己的行,并使用sorting命令没有给我错误关于' r'字符?
如何在VIM中映射Shift-Tab? (Cygwin,Windows cmd.exe)
无法获得一个基本的C ++程序在Windows 8上的Cygwin编译
在C中禁用崩溃对话框
麻烦从Cygwin控制台启动Node.js
无法使用Cygwin从Java运行C程序
看起来像一个Windows行结束相关的问题( rn与n )。 你可以把m.txt转换成Unix的行尾
dos2unix m.txt
然后重新运行你的命令。
我知道这是一个古老的问题,但只是运行命令export LC_ALL='C' sort: Set LC_ALL='C' to work around the problem.所描述的sort: Set LC_ALL='C' to work around the problem. 。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。