【发布时间】:2017-04-07 13:45:07
【问题描述】:
我希望这个命令有不同的输出:
$ echo -e "あいうえお\nオエウイア" | uniq -c
2 あいうえお
这两行不相同。
与此示例相比,按预期工作:
$ echo -e "aiueo\noeuia" | uniq -c
1 aiueo
1 oeuia
这是 Unicode 还是 UTF-8 问题?我没有找到任何支持“外来”字符的选项。
编辑:我在使用带有日文输入的排序时遇到了类似的问题。 a\nb\na\nb\n(或省略'\n',abab)形式的输入保持不变,我希望它是aabb 或至少bbaa。
【问题讨论】:
-
在我的环境中,它按预期工作。您使用的是
uniq和sort的哪个版本?我的是 Arch Linux 上的uniq (GNU coreutils) 8.26 -
我的是 GNU coreutils 8.23,Ubuntu。
-
我确认在某些语言环境中,
uniq的行为类似于您的问题。但是,我无法重现sort问题。检查您的LANG、LC_ALL或locale命令的输出,并尝试类似echo -e "あいうえお\nオエウイア" | LC_COLLATE=C uniq -c或echo -e "a\nb\na\nb\n" | LC_ALL=C sort -
设置 LC_COLLATE 似乎有效。谢谢。
标签: uniq