使用 IP 对文件进行排序

Sorting a file with IP

我有一个包含以下行的文件:

例如

host1   169.254.228.92
host2   169.254.230.182
host3   169.254.163.79

我想先按 3 列升序排序,然后按 4 列升序排序

当我使用时:

sort -n -t .  -k 3,3  -k 4,4 test.txt 

它不能正常工作,它只按 3 列排序:

host13  169.254.10.154
host12  169.254.18.77
host14  169.254.74.233

有什么解决办法吗?

试试这个:

sort -n -t . -k 1,1 -k 2,2 -k 3,3 -k 4,4 test.txt 

首先按第一个字段排序,仅第一个字段 (-k 1,1),然后按第二个且仅第二个字段排序 (-k 2,2),依此类推 (-k 3,3 -k 4,4).

或者只使用 sort -V。