Sort produces incorrect order
"Nelson, Gregg" <[email protected]> Tue, 16 Dec 2003 12:55:01 -0600
| Newsgroups | gmane.comp.gnu.textutils.bugs |
|---|---|
| Message-ID | <[email protected]> |
I am trying to sort a list of IP addresses into numerical order. By "numerical order" I mean that each octet is sorted in ascending order and that all four octets are used as keys from left to right. I also wish to delete duplicates. Suppose the list contains the following lines: 192.168.123.5 192.168.21.4 192.168.12.6 192.168.21.4 The desired sort should produce the following result: 192.168.12.6 192.168.21.4 192.168.123.5 Several commands I've tried in an attempt to achieve this result are: sort -t\. -nuo output-file input-file sort -t\. -k1 -k2 -k3 -k4 -nuo output-file input-file sort -t\. -k1n -k2n -k3n -k4n -uo output-file input-file Each of the above examples produces an incorrect order in which address 192.168.123.5 appears before 192.168.21.4. I believe the problem occurs because sort is not aligning the assumed decimal point in each key field even though a numerical (-n) sort is specified. Gregg Nelson