> Kind of hard to see those 77.224 comparisons as equal unless it stops > at one of the dots. > Doesn't seem to stop at first dot though, > > ; k1=<2.21.34.170>, k2=<2.18.121.27>; s1=<2.21.34.170>, s2=<2.18.121.27>; > cmp1=1
So it's probably parsing the first dot as a decimal point, then skips from dot #2 and forward when you ask for "numerical" or "human-numerical". You have to treat ips as strings when sorting I guess. Some sort manpages state it a bit more clearly: "Sort numerically. The number begins each line and consists of optional blanks, an optional ‘-’ sign, and zero or more digits possibly separated by thousands separators, optionally followed by a decimal-point character and zero or more digits." where the important part is probably "a decimal-point character", which would be . or , depending on locale if locale is supported. In any case, only one such decimal point seems to be considered, and then your other similar ips are dropped as duplicates by the numeric comparison. -- May the most significant bit of your life be positive.