区分大小写的Unix Bash

时间:2012-04-26 03:45:24

标签: bash unix sorting

以下是我遇到的问题的截图:

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

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

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

不完全确定如何使用sort处理这个问题,但我当然正在尝试。

我将未分类的所有域打印到文件中,然后使用香草sort filename

对其进行排序

会喜欢一些建议/意见。

2 个答案:

答案 0 :(得分:14)

您可能需要覆盖区域设置;大多数Linux系统默认使用UTF8语言环境,它既指定了与案例无关的排序,又忽略了标点符号。

LANG=C sort filename

答案 1 :(得分:1)

将输入标准化

tr [A-Z] [a-z] 

尝试阅读“Unix for poets”