使用ipcalc计算广播IP地址

时间:2015-02-27 06:55:19

标签: bash ip

我在文本文件中有一个cidr formart中的ip地址列表,每行一个cidr,我想计算cidr的广播ip地址。我知道我可以使用带有-b选项的ipcalc来执行此操作,但ipcalc不会将文本文件充满cidr。那么,如何编写一个bash脚本来包装ipcal命令。

1 个答案:

答案 0 :(得分:0)

这是一个快速的脚本,可以解决这个问题:

示例文件ips.txt

$ cat ips.txt 
192.168.0.1/24
192.167.0.1/24

此文件中ips的示例输出:

$ for i in $(cat ips.txt);do echo $i; ipcalc -b $i;done 
192.168.0.1/24
BROADCAST=192.168.0.255
192.167.0.1/24
BROADCAST=192.167.0.255

如果您不需要输出IP地址本身,只需删除回声即可。

修改

这是一个只按要求打印广播地址的版本:

$ for i in $(cat ips.txt);do bcaddr=$(ipcalc -b $i);echo ${bcaddr#BROADCAST=};done
192.168.0.255
192.167.0.255