awk's curly braces (regex)

Chris H bsd-lists at bsdforge.com
Thu Nov 5 03:36:25 UTC 2015


On Wed, 04 Nov 2015 13:53:18 -0700 Ian Lepore <ian at freebsd.org> wrote

> On Wed, 2015-11-04 at 21:10 +0100, rank1seeker at gmail.com wrote:
> > 10.2-RELEASE-p6
> > 
> > # awk --version
> > awk version 20121220 (FreeBSD)
> > 
> > # echo 2015 | awk '/^[0-9]/ {print}'
> > Prints '2015'
> > 
> > # echo 2015 | awk '/^[0-9]{4}/ {print}'
> > Won't
> > 
> > Why range/interval specified via curly braces doesn't work.
> > PS: Yes I've tried escaping it with backslahes and double backslahes,
> > nada!
> > 
> > man pages:
> > --
> > Regular expressions are as in egrep; see grep(1).
> > --
Your SHELL can be a "gatcha", as well.
> 
> For what it's worth, the manpage on a linux system I checked also says
> the regex is like egrep, but then it points out that one difference is
> "interval expressions" (curly brace stuff) which it says are "likely to
> break old awk programs" so they're only enabled if --posix or --re
> -interval options are given.  Our awk doesn't seem to support those
> options.
> 
> I guess our awk might also avoid the interval expressions out of
> caution for breaking old programs; maybe we need to add the options to
> enable them, like gnu awk has.
> 
> -- Ian
> 
> _______________________________________________
> freebsd-hackers at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"




More information about the freebsd-hackers mailing list