在vim中对IP地址进行排序

Owe*_*ker 5 sorting vim ip-address

我刚刚:sort n在vim中发现了这个命令(我怎么不知道呢?!),这几乎完全符合我的需要.

但是,我想要排序的是一长串的IP地址(它是一个"允许主机"文件Include进入我们的apache配置),:sort n能够识别出123.45.6.7应该排序之前是很好的123.45.16.7(对于例).

它是一个安全的假设,我应约不那么强迫症,不担心,因为我不打算要能够做到这一点没有一个温和,复杂sed或者awk命令,或者什么?

要清楚,行看起来像:

Allow from 1.2.3.4
Allow from 5.6.7.8
Allow from 9.10.11.12
Run Code Online (Sandbox Code Playgroud)

等等

Ben*_*oit 10

Vim sort在实践中似乎很稳定(但不能保证).因此你可以尝试:

:%sort n /.*\./
:%sort n /\.\d\+\./
:%sort n /\./
:%sort n
Run Code Online (Sandbox Code Playgroud)

在最后一个点(*贪婪)之后按数字排序,然后按照点和数字后的第一个点后面的数字排序,然后按第一个点后面的数字排序,最后乘第一个数字.

  • 使用管道你可以一次性执行它:`:%sort n /.*\./ | %sort n /\.\d\+ \./ | %sort n /\./ | %sort n` (3认同)