GNU bug report logs -
#72850
Can't match ] in [ ] regexp bug?
Previous Next
Full log
Message #8 received at 72850 <at> debbugs.gnu.org (full text, mbox):
Khoa Ton <khoa <at> puresynergy.com> wrote:
> I'm on Ubuntu:
>
> $ uname -a
> Linux nile 5.15.0-118-generic #128-Ubuntu SMP Fri Jul 5 09:28:59 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
>
> I can't seem to get grep to match lines with ] in them when using [ ] expression.
> grep only matches two characters string "\]" instead:
>
> $ echo ']' | grep -E "[\]]" # supposed to return ] but doesn't
> $ echo '\]' | grep -E "[\]]" # incorrectly matches '\]' but not ']'
> \]
>
> Possible grep bug:
> grep doesn't seem to correctly handle escaped "\]" inside [ ] expressions.
>
> Thank you,
> Khoa
Grep doesn't support backslash escapes inside [...] (although awk does).
The correct way to do this is to place the ] as the first character
inside the [...], like so:
$ echo ] | grep -E '[]]'
]
HTH,
Arnold
This bug report was last modified 295 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.