grep - News
grep-2.6 released [stable]
Item posted by Jim Meyering <meyering> on Tue 23 Mar 2010 12:37:49 PM UTC.
This is to announce grep-2.6.
grep is a tool to search for strings inside a file.
This release fixes an unexpectedly large number of flaws, from outright
bugs (surprisingly many, considering this is "grep") to some occasionally
debilitating performance problems.
Special thanks to Paolo Bonzini for doing most of the heavy lifting.
See the "NEWS" below for highlights.
Here are the compressed sources:
http://ftp.gnu.org/gnu/grep/grep-2.6.tar.gz (1.3MB)
http://ftp.gnu.org/gnu/grep/grep-2.6.tar.xz (800KB)
Here are the GPG detached signatures[*]:
http://ftp.gnu.org/gnu/grep/grep-2.6.tar.gz.sig
http://ftp.gnu.org/gnu/grep/grep-2.6.tar.xz.sig
To reduce load on the main server, use a mirror listed at:
http://www.gnu.org/order/ftp.html
Here is grep's project page:
http://savannah.gnu.org/projects/grep/
Browse grep's sources here:
http://git.savannah.gnu.org/gitweb/?p=grep.git
[*] You can use either of the above signature files to verify that
the corresponding file (without the .sig suffix) is intact. First,
be sure to download both the .sig file and the corresponding tarball.
Then, run a command like this:
gpg --verify grep-2.6.tar.gz.sig
If that command fails because you don't have the required public key,
then run this command to import it:
gpg --keyserver keys.gnupg.net --recv-keys B9AB9A16
and rerun the `gpg --verify' command.
This release was bootstrapped with the following tools:
Autoconf 2.65.54-80019
Automake 1.11a
Gnulib v0.0-3590-g602e3e6
============================================================
NEWS
* Noteworthy changes in release 2.6 (2010-03-23) [stable]
** Speed improvements
grep is much faster on multibyte character sets, especially (but not
limited to) UTF-8 character sets. The speed improvement is also very
pronounced with case-insensitive matches.
** Bug fixes
Character classes would malfunction in multi-byte locales when using grep -i.
Examples which would print nothing for LC_ALL=en_US.UTF-8 include:
- for ranges, echo Z | grep -i '[a-z]'
- for single characters, echo Y | grep -i '[y]'
- for character types, echo Y | grep -i '[[:lower:]]'
grep -i -o would fail to report some matches; grep -i --color, while not
missing any line containing a match, would fail to color some matches.
grep would fail to report a match in a multibyte character set other than
UTF-8, if another match occurred earlier in the line but started in the
middle of a multibyte character.
Various bugs in grep -P, caused by expressions such as [^b] or \S matching
newlines, were fixed. grep -P also supports the special sequences \Z and
\z, and can be combined with the command-line option -z to perform searches
on NUL-separated records.
grep would mistakenly exit with status 1 upon error, rather than 2,
as it is documented to do.
Using options like -1 -2 or -1 -v -2 results in two lines of
context (the last value that appears on the command line) instead
twelve (the concatenation of all the values). This is consistent
with the behavior of options -A/-B/-C.
Two new command-line options, --group-separator=ARGUMENT and
--no-group-separator, enable further customization of the output
when -A, -B or -C is being used.
** Other changes
egrep accepts the -E option and fgrep accepts the -F option. If egrep
and fgrep are given another of the -E/-F/-G options, they print a more
meaningful error message.
Powered by Savane 3.14-79a4.
Corresponding source code