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 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