Bug 194397 - Base GNU grep does not handle \s in extended regex
Summary: Base GNU grep does not handle \s in extended regex
Status: Closed Overcome By Events
Alias: None
Product: Base System
Classification: Unclassified
Component: gnu (show other bugs)
Version: CURRENT
Hardware: Any Any
: --- Affects Some People
Assignee: freebsd-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-10-16 01:28 UTC by Ed Maste
Modified: 2021-01-16 20:33 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ed Maste freebsd_committer freebsd_triage 2014-10-16 01:28:07 UTC
\s should match whitespace but does not:

FreeBSD 11.0-CURRENT from Sep. 21

joule% echo 'a b' | /usr/bin/grep -E '^a\sb'
joule%
joule% /usr/bin/grep --version
grep (GNU grep) 2.5.1-FreeBSD

GNU grep package works:

joule% echo 'a b' | /usr/local/bin/grep -E '^a\sb'
a b
joule% /usr/local/bin/grep --version              
/usr/local/bin/grep (GNU grep) 2.20

BSD grep works:

echo 'a b' | /usr/bin/bsdgrep -E '^a\sb'

joule% /usr/bin/bsdgrep --version
bsdgrep (BSD grep) 2.5.1-FreeBSD

BSD grep and base GNU grep both link against /usr/lib/libgnuregex.so.5
Comment 1 commit-hook freebsd_committer freebsd_triage 2020-12-08 14:06:02 UTC
A commit references this bug:

Author: kevans
Date: Tue Dec  8 14:05:27 UTC 2020
New revision: 368439
URL: https://svnweb.freebsd.org/changeset/base/368439

Log:
  src.opts.mk: switch to bsdgrep as /usr/bin/grep

  This has been years in the making, and we all knew it was bound to happen
  some day. Switch to the BSDL grep implementation now that it's been a
  little more thoroughly tested and theoretically supports all of the
  extensions that gnugrep in base had with our libregex(3).

  Folks shouldn't really notice much from this update; bsdgrep is slower than
  gnugrep, but this is currently the price to pay for fewer bugs. Those
  dissatisfied with the speed of grep and in need of a faster implementation
  should check out what textproc/ripgrep and textproc/the_silver_searcher
  can do for them.

  I have some WIP to make bsdgrep faster, but do not consider it a blocker
  when compared to the pros of switching now (aforementioned bugs, licensing).

  PR:		228798 (exp-run)
  PR:		128645, 156704, 166842, 166862, 180937, 193835, 201650
  PR:		232565, 242308, 246000, 251081, 191086, 194397
  Relnotes:	yes, please

Changes:
  head/share/mk/src.opts.mk