Вот awk версия:
want=204.12.77.5
awk -v want=$want -F- '
function canon(ip){
split(" "ip,x,/[^0-9]+/)
return sprintf("%03d%03d%03d%03d",x[2],x[3],x[4],x[5])
}
BEGIN { val = canon(want) }
{ low = canon($1); high = canon($2);
if(val>=low && val<=high)print "in range " $0
}' mylogfile
Функция canon
берет ip-адрес, разделяет поля цифр,
затем расширяет каждое до 3 цифр и возвращает строку.
Она вызывается для 2 значений в каждой строке, и они
сравниваются с искомым ip-адресом (заданным в начале), который
который также был "канонизирован".