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