newsgrep - 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.


Back to the top

Powered by Savane 3.13-da57.
Corresponding source code