【发布时间】:2015-04-23 21:21:07
【问题描述】:
我正在 Bourne shell 中寻找一个函数,将“sIP-dIP”格式的给定 IP 范围转换为定义相同范围的可用子网集。 我正在寻找的正是该站点提供的 IP Range 功能的相同结果:http://www.ipaddressguide.com/cidr
示例:
给定:
10.0.0.6-10.10.1.34:
结果:
10.0.0.6/31
10.0.0.8/29
10.0.0.16/28
10.0.0.32/27
10.0.0.64/26
10.0.0.128/25
10.0.1.0/24
10.0.2.0/23
10.0.4.0/22
10.0.8.0/21
10.0.16.0/20
10.0.32.0/19
10.0.64.0/18
10.0.128.0/17
10.1.0.0/16
10.2.0.0/15
10.4.0.0/14
10.8.0.0/15
10.10.0.0/24
10.10.1.0/27
10.10.1.32/31
10.10.1.34/32
我见过很多例子,但它们都是针对 bash、C 或 phyton 的,但我使用的是带有 Bourne shell 的busybox .
谁能提供一些意见?
非常感谢!
【问题讨论】:
-
我建议您尝试将您找到的
bash解决方案转换为sh,然后再回复您的任何具体问题。 -
好的,基于这个 bash 脚本:stackoverflow.com/questions/22699906/… 我认为 sh 不喜欢 for ((a=1; a
-
这也是一个选项,但需要从 php 转换:pastebin.com/VT1B0gDM
-
好的,看看那个 bash 脚本而不实际运行它,我认为 for 循环是唯一需要替换的东西。看我的回答。