On Mar 24 08:07, Fergus Daly wrote:
grep -Pl \xmn
used to find files containing the ASCII character mn. For instance
grep -PL \x0d or \x0a or usefully \x00.
This seems to have been lost with the current version.
Is this an error? If not, can anybody tell me what new syntax will recover
the old behaviour?
I just tested this on Cygwin and Fedora 21, both with grep 2.21:
$ cat x.sh
#!/bin/sh
echo ${0##*/}
$ grep -Pl '\x30' x.sh
x.sh
$ grep -Pl '\x0a' x.sh
$
Same result on both systems, so it finds characters in lines, but not
the line separator itself. If that worked before, this looks like an
upstream change to me.
A bit of digging shows this thread on the bug-grep mailing list:
http://lists.gnu.org/archive/html/bug-grep/2015-03/msg00015.html
And indeed, if I add a NUL byte to the file and search for it:
$ grep -Pl '\x0' x.sh
$ grep -aPl '\x0' x.sh
x.sh
This does not work for the CR or LF, though. You may want to discuss
this on the bug-grep ML.
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat
pgpMy_vdTWdjZ.pgp
Description: PGP signature