GNU grep searches one or more input files for lines containing a
match to a specified pattern. By default, grep outputs the matching lines.
The GNU implementation includes several useful extensions over POSIX.
For more information see the project home pages:
https://www.gnu.org/software/grep/
https://sv.gnu.org/projects/grep/
The previous release made PCRE patterns like [\d] work again, at the
expense of reverting to the behavior of grep 3.8, in that patterns like
\w and \b go back to using ASCII rather than Unicode interpretations.
Previous releases stated that egrep and fgrep are deprecated obsolescent
commands, will be dropped in future, and from this release until then,
every use will show a stderr warning message, reminding you how to
change your commands and scripts:
$ egrep ...
egrep: warning: egrep is obsolescent; using grep -E
...
$ fgrep ...
fgrep: warning: fgrep is obsolescent; using grep -F
...
Other invalid usages documented previously also now generate warning or
error messages on stderr e.g.
grep: warning: * at start of expression
grep: warning: ? at start of expression
grep: warning: + at start of expression
grep: warning: {...} at start of expression
grep: warning: stray \ before <CHAR>
grep: warning: stray \ before unprintable character
grep: warning: stray \ before white space
Cygwin releases will suppress the egrep and fgrep warning messages, but
developers and maintainers should rigorously remove all such usages from
their practices and scripts, as those commands could be dropped, or any
warning messages could be treated as fatal errors, in future.
The following package has been upgraded in the Cygwin distribution:
- grep 3.12
For changes since the previous Cygwin release, see below,
or after installation, read /usr/share/doc/grep/NEWS:
https://lists.gnu.org/archive/html/info-gnu/2025-04/msg00008.html
https://git.sv.gnu.org/cgit/grep.git/tree/NEWS
https://sv.gnu.org/news/?id=10753
for complete details, after installation, read
/usr/share/doc/grep/ChangeLog, or see:
https://git.sv.gnu.org/gitweb/?p=grep.git;a=log;h=v3.12
2025-04-10 3.12
Bug fixes
- Searching a directory with at least 100,000 entries no longer fails
with "Operation not supported" and exit status 2. Now, this prints 1
and no diagnostic, as expected:
$ mkdir t && cd t && seq 100000|xargs touch && grep -r x .; echo $?
1
[bug introduced in grep 3.11]
- -mN where 1 < N no longer mistakenly lseeks to end of input merely
because standard output is /dev/null.
Changes in behavior
- The --unix-byte-offsets (-u) option is gone. In grep-3.7 (2021-08-14)
it became a warning-only no-op. Before then, it was a Windows-only no-op.
- On Windows platforms and on AIX in 32-bit mode, grep in some cases
now supports Unicode characters outside the Basic Multilingual Plane.
--
*** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO ***
The easiest way to unsubscribe is to visit
<https://cygwin.com/mailman/options/cygwin-announce>, and click 'Unsubscribe'.
If you need more information on unsubscribing, start reading here:
<https://sourceware.org/lists.html#unsubscribe>.