[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#71252: why does grep match literal newlines when there are none, eve
From: |
David G. Pickett |
Subject: |
bug#71252: why does grep match literal newlines when there are none, even with -z? |
Date: |
Thu, 30 May 2024 02:33:37 +0000 (UTC) |
I have used sed to load multiple lines into the buffer for analysis. I am not
sure grep wants to go multiline.
On Tuesday, May 28, 2024 at 09:04:20 PM EDT, Philippe Cerfon
<philcerf@gmail.com> wrote:
Hey.
I always thought, that grep is line based in a way that the current
string doesn't hold the line terminator.
If so, why does, e.g.:
$ printf 'foo' | grep $'\n'
foo
match?
Even with -z.
While:
$ printf 'foo\nbar' | grep -z $'\n'
foo
bar
would make sense to me, why does it also match:
$ printf 'foobar' | grep -z $'\n'
foobar
?
In PCRE mode:
$ printf 'foobar' | grep -P -z '\n'
$
No match, that I would expect.
$ printf 'foo\nbar' | grep -P -z '\n'
foo
bar
Match, again, expected.
But:
$ printf 'foobar' | grep -P -z $'\n'
foobar
Why does that match?
Thanks,
Philippe