我正在寻找Bourne shell中的一个函数来转换给定范围的IP,格式为" sIP-dIP"到一组可用的子网,定义了相同的范围。 我正在寻找的是与此网站提供的 IP范围功能完全相同的结果: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 ,但我在busybox上Bourne shell。
有人可以提供一些意见吗?
非常感谢!
答案 0 :(得分:0)
您可以使用
替换bash
特定的C风格for
循环
a=1
while [ "$a" -le "$diff" ]; do
# body of loop here
a=$((a+1))
done
用于POSIX兼容性。