这是一个难以推断我需要的东西,所以请耐心等待。假设我们有这个子网10.4.x.0 / 28,它在多个看起来相同的子网上进行迭代,即
10.4.0.0/28
10.4.0.16/28
10.4.0.32/28 etc...
我们在这些子网中有一个地址,我们需要提取它始终是当前子网的+12。即
10.4.0.0/28 -> 10.4.0.12
10.4.0.16/28 -> 10.4.0.28
10.4.0.32/28 -> 10.4.0.44
我如何编写shell脚本来遍历
中的所有子网 10.4.0.0/28
到10.4.255.240
获取每个子网中的单个地址?
答案 0 :(得分:2)
很难说出你想要的格式,但是......
for I in $(seq 12 16 256); do echo 10.4.{0..255}.$I; done
给出16行,4096个像这样的值...
10.4.0.12 10.4.1.12 10.4.2.12 10.4.3.12 10.4.4.12 10.4.5.12 10.4.6.12 10.4.7.12 10.4.8.12 10.4.9.12 10.4.10.12 10.4.11.12 10.4.12.12 10.4.13.12 10.4.14.12 10.4.15.12 10.4.16.12 10.4.17.12 ...
10.4.0.28 10.4.1.28 10.4.2.28 10.4.3.28 10.4.4.28 10.4.5.28 10.4.6.28 10.4.7.28 10.4.8.28 10.4.9.28 10.4.10.28 10.4.11.28 10.4.12.28 10.4.13.28 10.4.14.28 10.4.15.28 10.4.16.28 10.4.17.28 ...
[...]
10.4.235.252 10.4.236.252 10.4.237.252 10.4.238.252 10.4.239.252 10.4.240.252 10.4.241.252 10.4.242.252 10.4.243.252 10.4.244.252 10.4.245.252 10.4.246.252 10.4.247.252 10.4.248.252 10.4.249.252 10.4.250.252 10.4.251.252 10.4.252.252 10.4.253.252 10.4.254.252 10.4.255.252
如果您想动态更改顶级地址,可以创建一个功能......
iterateIP(){
for I in $(seq 12 16 256); do echo $1.{0..255}.$I; done
}
并且这样打电话:
iterateIP 10.4