技術メモ

技術メモ

IPの個数をカウント

IPレンジの中のIPの個数を知りたい(awkでログを漁る時に必要になったりする)。
IPを2進数と見立てて10進数に変換したうえで差分を取る。

split(ipstart,ipstart_ary,".");
x=ipstart_ary[1]*16777216+ipstart_ary[2]*65536+ipstart_ary[3]*256+ipstart_ary[4]

split(ipend,ipend_ary,".");
y=ipend_ary[1]*16777216+ipend_ary[2]*65536+ipend_ary[3]*256+ipend_ary[4]

cnt=y-x+1