Pattern matching with awk

Tom Christiansen tchrist at convex.COM
Wed Mar 6 17:50:23 AEST 1991


>From the keyboard of louk at tslwat.UUCP (Lou Kates):
:The following   awk  program looks   for expressions of the  form
:word at word where word contains only letters, numbers  and dots and
:the field separator is anything except letters, numbers, dots and
:@. You  can  change the regular  expressions in order to vary the
:effect:
:
:BEGIN { FS = "[^.a-zA-Z0-9@]+"; 
:	word = "[.a-zA-Z0-9]+";  
:	addr = "^" word "@" word "$" 
:      }
:{ for(i=1; i<=NF; i++) if ($i ~ addr) print $i }

$ awk -f foo.awk < file
awk: syntax error near line 5
awk: illegal statement near line 5

You meant a nawk program, not an awk program.  

You definitely need to have more characters in there -- consider
folks with dashes in their hostnames.  That's why my regexp was
more complicated.


--tom
--
	I get so tired of utilities with arbitrary, undocumented,
	compiled-in limits.  Don't you?

Tom Christiansen		tchrist at convex.com	convex!tchrist



More information about the Comp.unix.questions mailing list