What regular expression can I use to match an IP address?
try this:
grep -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' /etc/hosts
which matches all expressions from 0.0.0.0
to 999.999.999.999
with
grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' /etc/hosts
you will get IP addresses only
note:
on solaris probably egrep will do the job.
How's this:
perl -MRegexp::Common=net -ne '/($RE{net}{IPv4})/ and print "$1\n"' /etc/hosts
The
-w / --word-regexp
flag to grep
makes it only match on word boundaries, meaning that your match must either be surrounded by whitespace or begin / end at the beginning / end of the line!