我有一个在文件中使用的IP地址:
192.168.1.121 192.168.1.141 192.168.1.172 192.168.1.180 192.168.1.180 192.168.1.181 192.168.1.182 192.168.1.185 192.168.1.190
我想要做的是能够使用Bash打印出使用过的IP地址之间的范围。因此,例如通过查看示例192.168.1.121,但我希望能够打印出121和141之间的所有IP地址。类似地,在141和172之间。我不担心在121之前打印IP地址。
有办法做到这一点吗?
由于 库提
答案 0 :(得分:0)
是
addresses=( `< listofnums` )
network=${addresses[0]%.*}
hosts=( ${addresses[@]##*.} )
for (( i=${hosts[0]}; i<255; ++i ))
do
case "${hosts[@]}" in *"$i"*) ;; *) echo "$network.$i" ;; esac
done