2004-07-04 09:52:08 +00:00
|
|
|
Version 2.5.1
|
|
|
|
- This is a bugfix release. No new features.
|
|
|
|
|
|
|
|
Version 2.5
|
|
|
|
- The new option --label allows to specify a different name for input
|
|
|
|
from stdin. See the man or info pages for details.
|
|
|
|
|
|
|
|
- The internal lib/getopt* files are no longer used on systems providing
|
|
|
|
getopt functionality in their libc (e.g. glibc 2.2.x).
|
|
|
|
If you need the old getopt files, use --with-included-getopt.
|
|
|
|
|
|
|
|
- The new option --only-matching (-o) will print only the part of matching
|
|
|
|
lines that matches the pattern. This is useful, for example, to extract
|
|
|
|
IP addresses from log files.
|
|
|
|
|
|
|
|
- i18n bug fixed ([A-Z0-9] wouldn't match A in locales other than C on
|
|
|
|
systems using recent glibc builds
|
|
|
|
|
|
|
|
- GNU grep can now be built with autoconf 2.52.
|
|
|
|
|
|
|
|
- The new option --devices controls how grep handles device files. Its usage
|
|
|
|
is analogous to --directories.
|
|
|
|
|
|
|
|
- The new option --line-buffered fflush on everyline. There is a noticeable
|
|
|
|
slow down when forcing line buffering.
|
|
|
|
|
|
|
|
- Back references are now local to the regex.
|
|
|
|
grep -e '\(a\)\1' -e '\(b\)\1'
|
|
|
|
The last backref \1 in the second expression refer to \(b\)
|
|
|
|
|
|
|
|
- The new option --include=PATTERN will only search matching files
|
|
|
|
when recursing in directories
|
|
|
|
|
|
|
|
- The new option --exclude=PATTERN will skip matching files when
|
|
|
|
recursing in directories.
|
|
|
|
|
|
|
|
- The new option --color will use the environment variable GREP_COLOR
|
|
|
|
(default is red) to highlight the matching string.
|
|
|
|
--color takes an optional argument specifying when to colorize a line:
|
|
|
|
--color=always, --color=tty, --color=never
|
|
|
|
|
|
|
|
- The following changes are for POSIX.2 conformance:
|
|
|
|
|
|
|
|
. The -q or --quiet or --silent option now causes grep to exit
|
|
|
|
with zero status when a input line is selected, even if an error
|
|
|
|
also occurs.
|
|
|
|
|
|
|
|
. The -s or --no-messages option no longer affects the exit status.
|
|
|
|
|
|
|
|
. Bracket regular expressions like [a-z] are now locale-dependent.
|
|
|
|
For example, many locales sort characters in dictionary order,
|
|
|
|
and in these locales the regular expression [a-d] is not
|
|
|
|
equivalent to [abcd]; it might be equivalent to [aBbCcDd], for
|
|
|
|
example. To obtain the traditional interpretation of bracket
|
|
|
|
expressions, you can use the C locale by setting the LC_ALL
|
|
|
|
environment variable to the value "C".
|
|
|
|
|
|
|
|
- The -C or --context option now requires an argument, partly for
|
|
|
|
consistency, and partly because POSIX.2 recommends against
|
|
|
|
optional arguments.
|
|
|
|
|
|
|
|
- The new -P or --perl-regexp option tells grep to interpert the pattern as
|
|
|
|
a Perl regular expression.
|
|
|
|
|
|
|
|
- The new option --max-count=num makes grep stop reading a file after num
|
|
|
|
matching lines.
|
|
|
|
New option -m; equivalent to --max-count.
|
|
|
|
|
|
|
|
- Translations for bg, ca, da, nb and tr have been added.
|
|
|
|
|
2004-03-01 08:24:49 +00:00
|
|
|
Version 2.4.2
|
|
|
|
|
|
|
|
- Added more check in configure to default the grep-${version}/src/regex.c
|
|
|
|
instead of the one in GNU Lib C.
|
|
|
|
|
2000-01-31 13:22:22 +00:00
|
|
|
Version 2.4.1
|
|
|
|
|
|
|
|
- If the final byte of an input file is not a newline, grep now silently
|
|
|
|
supplies one.
|
|
|
|
|
2000-01-18 09:45:11 +00:00
|
|
|
- The new option --binary-files=TYPE makes grep assume that a binary input
|
|
|
|
file is of type TYPE.
|
|
|
|
--binary-files='binary' (the default) outputs a 1-line summary of matches.
|
|
|
|
--binary-files='without-match' assumes binary files do not match.
|
|
|
|
--binary-files='text' treats binary files as text
|
2000-01-31 13:22:22 +00:00
|
|
|
(equivalent to the -a or --text option).
|
|
|
|
|
|
|
|
- New option -I; equivalent to --binary-files='without-match'.
|
2000-01-18 09:45:11 +00:00
|
|
|
|
2000-01-03 21:09:05 +00:00
|
|
|
Version 2.4:
|
|
|
|
|
|
|
|
- egrep is now equivalent to `grep -E' as required by POSIX,
|
|
|
|
removing a longstanding source of confusion and incompatibility.
|
|
|
|
`grep' is now more forgiving about stray `{'s, for backward
|
|
|
|
compatibility with traditional egrep.
|
|
|
|
|
|
|
|
- The lower bound of an interval is not optional.
|
|
|
|
You must use an explicit zero, e.g. `x{0,10}' instead of `x{,10}'.
|
|
|
|
(The old documentation incorrectly claimed that it was optional.)
|
|
|
|
|
|
|
|
- The --revert-match option has been renamed to --invert-match.
|
|
|
|
|
|
|
|
- The --fixed-regexp option has been renamed to --fixed-string.
|
|
|
|
|
|
|
|
- New option -H or --with-filename.
|
|
|
|
|
|
|
|
- New option --mmap. By default, GNU grep now uses read instead of mmap.
|
|
|
|
This is faster on some hosts, and is safer on all.
|
|
|
|
|
|
|
|
- The new option -z or --null-data causes `grep' to treat a zero byte
|
|
|
|
(the ASCII NUL character) as a line terminator in input data, and
|
|
|
|
to treat newlines as ordinary data.
|
|
|
|
|
|
|
|
- The new option -Z or --null causes `grep' to output a zero byte
|
|
|
|
instead of the normal separator after a file name.
|
|
|
|
|
|
|
|
- These two options can be used with commands like `find -print0',
|
|
|
|
`perl -0', `sort -z', and `xargs -0' to process arbitrary file names,
|
|
|
|
even those that contain newlines.
|
|
|
|
|
|
|
|
- The environment variable GREP_OPTIONS specifies default options;
|
|
|
|
e.g. GREP_OPTIONS='--directories=skip' reestablishes grep 2.1's
|
|
|
|
behavior of silently skipping directories.
|
|
|
|
|
|
|
|
- You can specify a matcher multiple times without error, e.g.
|
|
|
|
`grep -E -E' or `fgrep -F'. It is still an error to specify
|
|
|
|
conflicting matchers.
|
|
|
|
|
|
|
|
- -u and -U are now allowed on non-DOS hosts, and have no effect.
|
|
|
|
|
|
|
|
- Modifications of the tests scripts to go around the "Broken Pipe"
|
|
|
|
errors from bash. See Bash FAQ.
|
|
|
|
|
|
|
|
- New option -r or --recursive or --directories=recurse.
|
|
|
|
(This option was also in grep 2.3, but wasn't announced here.)
|
|
|
|
|
|
|
|
- --without-included-regex disable, was causing bogus reports .i.e
|
|
|
|
doing more harm then good.
|
|
|
|
|
1999-11-22 10:31:17 +00:00
|
|
|
Version 2.3:
|
|
|
|
|
|
|
|
- When searching a binary file FOO, grep now just reports
|
|
|
|
`Binary file FOO matches' instead of outputting binary data.
|
|
|
|
This is typically more useful than the old behavior,
|
|
|
|
and it is also more consistent with other utilities like `diff'.
|
|
|
|
A file is considered to be binary if it contains a NUL (i.e. zero) byte.
|
|
|
|
|
|
|
|
The new -a or --text option causes `grep' to assume that all
|
|
|
|
input is text. (This option has the same meaning as with `diff'.)
|
|
|
|
Use it if you want binary data in your output.
|
|
|
|
|
|
|
|
- `grep' now searches directories just like ordinary files; it no longer
|
|
|
|
silently skips directories. This is the traditional behavior of
|
|
|
|
Unix text utilities (in particular, of traditional `grep').
|
|
|
|
Hence `grep PATTERN DIRECTORY' should report
|
|
|
|
`grep: DIRECTORY: Is a directory' on hosts where the operating system
|
|
|
|
does not permit programs to read directories directly, and
|
|
|
|
`grep: DIRECTORY: Binary file matches' (or nothing) otherwise.
|
|
|
|
|
|
|
|
The new -d ACTION or --directories=ACTION option affects directory handling.
|
2000-01-03 21:09:05 +00:00
|
|
|
`-d skip' causes `grep' to silently skip directories, as in grep 2.1;
|
1999-11-22 10:31:17 +00:00
|
|
|
`-d read' (the default) causes `grep' to read directories if possible,
|
|
|
|
as in earlier versions of grep.
|
|
|
|
|
|
|
|
- The MS-DOS and Microsoft Windows ports now behave identically to the
|
|
|
|
GNU and Unix ports with respect to binary files and directories.
|
|
|
|
|
|
|
|
Version 2.2:
|
|
|
|
|
|
|
|
Bug fix release.
|
|
|
|
|
|
|
|
- Status error number fix.
|
|
|
|
- Skipping directories removed.
|
|
|
|
- Many typos fix.
|
|
|
|
- -f /dev/null fix(not to consider as an empty pattern).
|
|
|
|
- Checks for wctype/wchar.
|
|
|
|
- -E was using the wrong matcher fix.
|
|
|
|
- bug in regex char class fix
|
|
|
|
- Fixes for DJGPP
|
|
|
|
|
|
|
|
Version 2.1:
|
|
|
|
|
|
|
|
This is a bug fix release(see Changelog) i.e. no new features.
|
|
|
|
|
|
|
|
- More compliance to GNU standard.
|
|
|
|
- Long options.
|
|
|
|
- Internationalisation.
|
|
|
|
- Use automake/autoconf.
|
|
|
|
- Directory hierarchy change.
|
|
|
|
- Sigvec with -e on Linux corrected.
|
|
|
|
- Sigvec with -f on Linux corrected.
|
|
|
|
- Sigvec with the mmap() corrected.
|
|
|
|
- Bug in kwset corrected.
|
|
|
|
- -q, -L and -l stop on first match.
|
|
|
|
- New and improve regex.[ch] from Ulrich Drepper.
|
|
|
|
- New and improve dfa.[ch] from Arnold Robbins.
|
|
|
|
- Prototypes for over zealous C compiler.
|
|
|
|
- Not scanning a file, if it's a directory
|
|
|
|
(cause problems on Sun).
|
|
|
|
- Ported to MS-DOS/MS-Windows with DJGPP tools.
|
|
|
|
|
|
|
|
See Changelog for the full story and proper credits.
|
|
|
|
|
1993-07-06 18:45:27 +00:00
|
|
|
Version 2.0:
|
|
|
|
|
|
|
|
The most important user visible change is that egrep and fgrep have
|
|
|
|
disappeared as separate programs into the single grep program mandated
|
|
|
|
by POSIX 1003.2. New options -G, -E, and -F have been added,
|
|
|
|
selecting grep, egrep, and fgrep behavior respectively. For
|
|
|
|
compatibility with historical practice, hard links named egrep and
|
|
|
|
fgrep are also provided. See the manual page for details.
|
|
|
|
|
|
|
|
In addition, the regular expression facilities described in Posix
|
|
|
|
draft 11.2 are now supported, except for internationalization features
|
|
|
|
related to locale-dependent collating sequence information.
|
|
|
|
|
|
|
|
There is a new option, -L, which is like -l except it lists
|
|
|
|
files which don't contain matches. The reason this option was
|
|
|
|
added is because '-l -v' doesn't do what you expect.
|
|
|
|
|
|
|
|
Performance has been improved; the amount of improvement is platform
|
|
|
|
dependent, but (for example) grep 2.0 typically runs at least 30% faster
|
|
|
|
than grep 1.6 on a DECstation using the MIPS compiler. Where possible,
|
|
|
|
grep now uses mmap() for file input; on a Sun 4 running SunOS 4.1 this
|
|
|
|
may cut system time by as much as half, for a total reduction in running
|
|
|
|
time by nearly 50%. On machines that don't use mmap(), the buffering
|
|
|
|
code has been rewritten to choose more favorable alignments and buffer
|
|
|
|
sizes for read().
|
|
|
|
|
|
|
|
Portability has been substantially cleaned up, and an automatic
|
|
|
|
configure script is now provided.
|
|
|
|
|
|
|
|
The internals have changed in ways too numerous to mention.
|
|
|
|
People brave enough to reuse the DFA matcher in other programs
|
|
|
|
will now have their bravery amply "rewarded", for the interface
|
|
|
|
to that file has been completely changed. Some changes were
|
|
|
|
necessary to track the evolution of the regex package, and since
|
|
|
|
I was changing it anyway I decided to do a general cleanup.
|