GNU bug report logs -
#23185
GNU grep matching discrepancy between -a/--text and not.
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#23185: GNU grep matching discrepancy between -a/--text and not.
which was filed against the grep package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 23185 <at> debbugs.gnu.org.
--
23185: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=23185
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (text/plain, inline)]
Thanks for pointing out the seeming inconsistency. The documentation mentions
the issue but is perhaps not clear enough, so I installed the attached patch.
The input file contains NUL bytes and so is treated as binary data, and the grep
documentation (secton "File and Directory Selection", option "--binary-files")
says "When processing binary data, ‘grep’ may treat non-text bytes as line
terminators". This behavior was added to GNU grep in release 2.21 dated 2014,
partly for performance reasons.
There are two instances in riddle.he of a space followed by a NUL byte, so
grep -P '[ \t]\r?$' riddles.he
finds a match when the $ matches just before the NUL byte.
-a is one way to get the behavior you evidently expected. Another (perhaps
better) way is -z. The command:
grep -zP '[ \t]\r?\n' riddles.he
outputs nothing and exits with status 1.
[0001-Give-another-example-of-binary-file-processing.patch (text/x-diff, attachment)]
[Message part 5 (message/rfc822, inline)]
Hi all,
as can be seen in this repository:
https://github.com/shlomif/gnu-grep-trailing-space-and-CR-on-riddles.he-false-match
GNU grep says a document it suspects to be binary matches without -a/--text and
doesn't match it or return results with that flag applied. perl sides with the
latter.
I'm on Mageia linux x86-64 v6 and have built GNU grep from the latest git
commit ( c767ed70eca9a82d76f07dcdbcaafa21ec7f86d6 ) to test.
Regards,
Shlomi Fish
P.S: it seems the build system uses gperf but configure does not verify that it
exists in the path.
--
-----------------------------------------------------------------
Shlomi Fish http://www.shlomifish.org/
Interview with Ben Collins-Sussman - http://shlom.in/sussman
Can I SCO now? Sue who you wanna sue, it doesn't matter anyhoo, it's time to
litigate.
— http://www.shlomifish.org/humour/bits/Can-I-SCO-Now/
Please reply to list if it's a mailing list post - http://shlom.in/reply .
This bug report was last modified 9 years and 132 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.