mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-18 10:35:55 +00:00
164 lines
6.5 KiB
Plaintext
164 lines
6.5 KiB
Plaintext
Version 2.4.1
|
|
|
|
- If the final byte of an input file is not a newline, grep now silently
|
|
supplies one.
|
|
|
|
- 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
|
|
(equivalent to the -a or --text option).
|
|
|
|
- New option -I; equivalent to --binary-files='without-match'.
|
|
|
|
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.
|
|
|
|
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.
|
|
`-d skip' causes `grep' to silently skip directories, as in grep 2.1;
|
|
`-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.
|
|
|
|
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.
|