Usando grepcidr
com a lista de blocos de rede em list
:
$ echo '100.31.255.4' | grepcidr -f list
100.31.255.4
$ echo '10.31.255.4' | grepcidr -f list
(no output)
Como teste:
if printf '%s\n' "$ipaddr" | grepcidr -f list >/dev/null; then
printf '%s is in the list\n' "$ipaddr"
else
printf '%s is not in the list\n' "$ipaddr"
fi