buggy awk regex handling?
RW
rwmaillists at googlemail.com
Thu Aug 2 13:17:43 UTC 2012
On Thu, 02 Aug 2012 13:20:52 +0200
kaltheat wrote:
>
>
> Hi,
>
> I tried to replace three letters with three letters by awk using the
> sub-routine. I assumed that my regular expression does mean the
> following:
>
> match if three letters of any letter of alphabet occurs anywhere in
> input
>
> $ echo AbC | awk '{sub(/[[:alpha:]]{3}/,"cBa"); print;}'
> AbC
>
> As you can see the result was unexpected.
> When I try doing it for at least one letter, it works:
>
> $ echo AbC | awk '{sub(/[[:alpha:]]+/,"cBa"); print;}'
> cBa
> ...
> What am I doing wrong?
> Or is awk buggy?
Traditional awk implementations don't support {n}, but I think POSIX
implementations should.
More information about the freebsd-questions
mailing list