linux 中sort问题

sort在字符串的比较时会忽略对一些字符的比较,例如:"www.sohu.com.cn"与"www.so.gou.com.cn"的比较,如果按照严格的字符串比较,"www.soh"中的'h'的ASCII码大于"www.so."中的'.',因此"www.sohu.com.cn"应该大于"www.so.gou.com.cn",但是sort在比较的结果正好相反。

这个问题确实存在,不过不是sort的问题,而是locale的问题。sort在比较字符串的时候,是locale相关的。比如GB18030里,可能“一”就排在“二”前面,但是如果是en_US,可能就相反了。所以如果要严格按照字符串排序的话,在sort之前,先执行:
export LC_ALL=C; export LANG=C; export LANGUAGE=C。

你可能感兴趣的:(c,linux)