ここにある例のほとんどは、技術的に有効な IP アドレスではない 999.999.999.999 に一致します。
以下は、有効な IP アドレス (ネットワークおよびブロードキャスト アドレスを含む) のみに一致します。
grep -E -o '(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)' file.txt
一致した行全体を表示する場合は、-o を省略してください。
grep を使用してそれらを引き出すことができます。
grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' file.txt