5

这是我遇到的排序问题的屏幕截图:

http://i.imgur.com/cIvAF.png

我想要的目标是将所有相等的字符串放在连续的行上。它适用于我正在排序的列表的 99%,但有一些问题,例如屏幕截图中的问题。

所以所有的 yahoo.coms 应该彼此相邻,然后是所有 Yahoo.coms,然后是 YAHOO.coms yahoo.cmos yhoo.c 等。(错别字甚至有自己的一组行)

不完全确定如何通过排序来处理这个问题,但我肯定在尝试。

我将所有未排序的域打印到一个文件中,然后仅使用 vanilla 对其进行排序sort filename

希望得到一些建议/意见。

4

2 回答 2

14

You probably need to override the locale; most Linux systems default to a UTF8 locale which specifies both case independent sorting and ignoring punctuation.

LANG=C sort filename
于 2012-04-26T03:47:33.240 回答
1

将您的输入标准化一点

tr [A-Z] [a-z] 

尝试阅读“诗人的 Unix”

于 2012-04-26T19:38:09.030 回答