按一列排序行,然后按 IP 地址列排序

sort lines by one colum and then by column with IP addresses

输入列表是:

10.190.30.41    ENV-DEFAPP-T01
10.190.30.9     ENV-UATDB-T01
10.190.30.38    ENV-DEFDB-T01
10.190.30.36    ENV-DEFDB-T01
10.190.30.10    ENV-UATDB-T01
10.190.30.133   ENV-DEFDB-T01
10.190.30.37    ENV-DEFDB-T01
10.190.30.40    ENV-DEFAPP-T01
10.190.30.39    ENV-DEFDB-T01
10.190.30.37    ENV-GHIAPP-T01
10.190.30.132   ENV-DEFDB-T01
10.190.30.40    ENV-DEFDB-T01
10.190.31.7     ENV-GHIAP-T01
10.190.31.7     ENV-DEFDB-T01
10.190.30.132   ENV-DEFAPP-T01
10.190.30.41    ENV-DEFDB-T01
10.190.30.36    ENV-GHIMO-T01
10.190.30.42    ENV-UATNFS-T01
10.190.30.39    ENV-DEFAPP-T01
10.190.30.133   ENV-GHIAPP-T01
10.190.30.36    ENV-DEFAPP-T01
10.190.31.8     ENV-GHIDB-T01
10.190.30.38    ENV-GHIAPP-T01

我想在第一步中使用 GNU sed 按第 2 列和第 1 列(IP 地址)对其进行排序。

当我使用 -k2 -k1 排序时,第一列排序不正确(按每个 ENV 中的增量 IP):

$ cat input|tr -s ' '|sort -k2 -k1|column -ts" " --
10.190.30.132  ENV-DEFAPP-T01
10.190.30.36   ENV-DEFAPP-T01
10.190.30.39   ENV-DEFAPP-T01
10.190.30.40   ENV-DEFAPP-T01
10.190.30.41   ENV-DEFAPP-T01
10.190.30.132  ENV-DEFDB-T01
10.190.30.133  ENV-DEFDB-T01
10.190.30.36   ENV-DEFDB-T01
10.190.30.37   ENV-DEFDB-T01
10.190.30.38   ENV-DEFDB-T01
10.190.30.39   ENV-DEFDB-T01
10.190.30.40   ENV-DEFDB-T01
10.190.30.41   ENV-DEFDB-T01
10.190.31.7    ENV-DEFDB-T01
10.190.30.133  ENV-GHIAPP-T01
10.190.30.37   ENV-GHIAPP-T01
10.190.30.38   ENV-GHIAPP-T01
10.190.31.7    ENV-GHIAP-T01
10.190.31.8    ENV-GHIDB-T01
10.190.30.36   ENV-GHIMO-T01
10.190.30.10   ENV-UATDB-T01
10.190.30.9    ENV-UATDB-T01
10.190.30.42   ENV-UATNFS-T01

将 IP 地址排序为“版本”

sort -k2 -k1V