[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ale] Question about awk
- Subject: [ale] Question about awk
- From: fletch at phydeaux.org (fletch at phydeaux.org)
- Date: Thu, 17 Sep 2009 15:08:54 -0400
> sed 's/.\+\[\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\)\].\+/\1/' < foo
> where foo has the pile of stuff you want the IP's from.
This (and the egrep version someone else had) match too much. To be
pedantic and just match dotted IPs the regexp should be:
$ perl -MRegexp::Common=net -le 'print "".$RE{net}{IPv4}'
(?:(?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2}))
(And as to the original question, awk schmawk . . .
perl -lane '/Recipient address rejected.*\[([^]]+?)\]:/&&print $1'
but that goes without saying :)
--
Fletch | "If you find my answers frightening, __`'/|
fletch at phydeaux.org| Vincent, you should cease askin' \ o.O'
| scary questions." -- Jules =(___)=
| U