Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 04 Nov 2015 19:36:29 -0800
From:      "Chris H" <bsd-lists@bsdforge.com>
To:        <freebsd-hackers@freebsd.org>
Subject:   Re: awk's curly braces (regex)
Message-ID:  <3605b86a5de658159efd2e014a75b0e1@ultimatedns.net>
In-Reply-To: <1446670398.91534.358.camel@freebsd.org>
References:  <20151104211008.00006c16@gmail.com>, <1446670398.91534.358.camel@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 04 Nov 2015 13:53:18 -0700 Ian Lepore <ian@freebsd.org> wrote

> On Wed, 2015-11-04 at 21:10 +0100, rank1seeker@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@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3605b86a5de658159efd2e014a75b0e1>