Díky za tip na grepCIDR, ten jsem neznal.
Když jsem podobný problém řešil, použil jsem knihovnu ipaddr-py a jednoduchý wrapper. Výhodou tohoto řešení je podpora IPv4 i IPv6. Proti grepCIDRu ještě chybí logika nalezení IP adresy na řádku, protože tu jsem nepotřeboval.