#cat ip_data.txt some stuff 10.0.0.1:80 stuff 127.0.0.1:22 more stuffs 10.2.2.8:8080 nothing here 3.4.5.6:1 100.200.100.200:3000 1.2.3.4 perl -MRegexp::Common="net" -lne "print $_ for /$RE{net}{IPv4}:?\d{0,4}/g" ip_data.txt > out.log #cat out.log 10.0.0.1:80 127.0.0.1:22 10.2.2.8:8080 3.4.5.6:1 100.200.100.200:3000 1.2.3.4