shell列出两个ip段的其他ip地址


给两个ip:10.10.10.3 、10.10.10.6。使用shell如何列出两个ip之间的ip地址:
10.10.10.3
10.10.10.4
10.10.10.5
10.10.10.6

awk shell

蕾米莉亚. 12 years, 11 months ago
   
  echo 10.10.10.3,10.10.10.6 |awk 'BEGIN{FS=",";ip_max=256}
  
{
split($1,ips,".");split($2,ipe,".");
for(i=ips[4]+ips[3]*ip_max+ips[2]*ip_max^2+ips[1]*ip_max^3;
i<=ipe[4]+ipe[3]*ip_max+ipe[2]*ip_max^2+ipe[1]*ip_max^3;
i++){
print int(i/ip_max^3)"."\
int(i%ip_max^3/ip_max^2)"."\
int(i%ip_max^3%ip_max^2/ip_max)"."\
i%ip_max^3%ip_max^2%ip_max
}
}'

90903 answered 12 years, 11 months ago

Your Answer