首页 > 解决方案 > 使用 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

有什么解决办法吗?

标签: linuxbashsortingip

解决方案


尝试这个:

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。


推荐阅读