[2557] | 1 | Version 2.5.1
|
---|
| 2 | - This is a bugfix release. No new features.
|
---|
| 3 |
|
---|
| 4 | Version 2.5
|
---|
| 5 | - The new option --label allows to specify a different name for input
|
---|
| 6 | from stdin. See the man or info pages for details.
|
---|
| 7 |
|
---|
| 8 | - The internal lib/getopt* files are no longer used on systems providing
|
---|
| 9 | getopt functionality in their libc (e.g. glibc 2.2.x).
|
---|
| 10 | If you need the old getopt files, use --with-included-getopt.
|
---|
| 11 |
|
---|
| 12 | - The new option --only-matching (-o) will print only the part of matching
|
---|
| 13 | lines that matches the pattern. This is useful, for example, to extract
|
---|
| 14 | IP addresses from log files.
|
---|
| 15 |
|
---|
| 16 | - i18n bug fixed ([A-Z0-9] wouldn't match A in locales other than C on
|
---|
| 17 | systems using recent glibc builds
|
---|
| 18 |
|
---|
| 19 | - GNU grep can now be built with autoconf 2.52.
|
---|
| 20 |
|
---|
| 21 | - The new option --devices controls how grep handles device files. Its usage
|
---|
| 22 | is analogous to --directories.
|
---|
| 23 |
|
---|
| 24 | - The new option --line-buffered fflush on everyline. There is a noticeable
|
---|
| 25 | slow down when forcing line buffering.
|
---|
| 26 |
|
---|
| 27 | - Back references are now local to the regex.
|
---|
| 28 | grep -e '\(a\)\1' -e '\(b\)\1'
|
---|
| 29 | The last backref \1 in the second expression refer to \(b\)
|
---|
| 30 |
|
---|
| 31 | - The new option --include=PATTERN will only search matching files
|
---|
| 32 | when recursing in directories
|
---|
| 33 |
|
---|
| 34 | - The new option --exclude=PATTERN will skip matching files when
|
---|
| 35 | recursing in directories.
|
---|
| 36 |
|
---|
| 37 | - The new option --color will use the environment variable GREP_COLOR
|
---|
| 38 | (default is red) to highlight the matching string.
|
---|
| 39 | --color takes an optional argument specifying when to colorize a line:
|
---|
| 40 | --color=always, --color=tty, --color=never
|
---|
| 41 |
|
---|
| 42 | - The following changes are for POSIX.2 conformance:
|
---|
| 43 |
|
---|
| 44 | . The -q or --quiet or --silent option now causes grep to exit
|
---|
| 45 | with zero status when a input line is selected, even if an error
|
---|
| 46 | also occurs.
|
---|
| 47 |
|
---|
| 48 | . The -s or --no-messages option no longer affects the exit status.
|
---|
| 49 |
|
---|
| 50 | . Bracket regular expressions like [a-z] are now locale-dependent.
|
---|
| 51 | For example, many locales sort characters in dictionary order,
|
---|
| 52 | and in these locales the regular expression [a-d] is not
|
---|
| 53 | equivalent to [abcd]; it might be equivalent to [aBbCcDd], for
|
---|
| 54 | example. To obtain the traditional interpretation of bracket
|
---|
| 55 | expressions, you can use the C locale by setting the LC_ALL
|
---|
| 56 | environment variable to the value "C".
|
---|
| 57 |
|
---|
| 58 | - The -C or --context option now requires an argument, partly for
|
---|
| 59 | consistency, and partly because POSIX.2 recommends against
|
---|
| 60 | optional arguments.
|
---|
| 61 |
|
---|
| 62 | - The new -P or --perl-regexp option tells grep to interpert the pattern as
|
---|
| 63 | a Perl regular expression.
|
---|
| 64 |
|
---|
| 65 | - The new option --max-count=num makes grep stop reading a file after num
|
---|
| 66 | matching lines.
|
---|
| 67 | New option -m; equivalent to --max-count.
|
---|
| 68 |
|
---|
| 69 | - Translations for bg, ca, da, nb and tr have been added.
|
---|
| 70 |
|
---|
| 71 | Version 2.4.2
|
---|
| 72 |
|
---|
| 73 | - Added more check in configure to default the grep-${version}/src/regex.c
|
---|
| 74 | instead of the one in GNU Lib C.
|
---|
| 75 |
|
---|
| 76 | Version 2.4.1
|
---|
| 77 |
|
---|
| 78 | - If the final byte of an input file is not a newline, grep now silently
|
---|
| 79 | supplies one.
|
---|
| 80 |
|
---|
| 81 | - The new option --binary-files=TYPE makes grep assume that a binary input
|
---|
| 82 | file is of type TYPE.
|
---|
| 83 | --binary-files='binary' (the default) outputs a 1-line summary of matches.
|
---|
| 84 | --binary-files='without-match' assumes binary files do not match.
|
---|
| 85 | --binary-files='text' treats binary files as text
|
---|
| 86 | (equivalent to the -a or --text option).
|
---|
| 87 |
|
---|
| 88 | - New option -I; equivalent to --binary-files='without-match'.
|
---|
| 89 |
|
---|
| 90 | Version 2.4:
|
---|
| 91 |
|
---|
| 92 | - egrep is now equivalent to `grep -E' as required by POSIX,
|
---|
| 93 | removing a longstanding source of confusion and incompatibility.
|
---|
| 94 | `grep' is now more forgiving about stray `{'s, for backward
|
---|
| 95 | compatibility with traditional egrep.
|
---|
| 96 |
|
---|
| 97 | - The lower bound of an interval is not optional.
|
---|
| 98 | You must use an explicit zero, e.g. `x{0,10}' instead of `x{,10}'.
|
---|
| 99 | (The old documentation incorrectly claimed that it was optional.)
|
---|
| 100 |
|
---|
| 101 | - The --revert-match option has been renamed to --invert-match.
|
---|
| 102 |
|
---|
| 103 | - The --fixed-regexp option has been renamed to --fixed-string.
|
---|
| 104 |
|
---|
| 105 | - New option -H or --with-filename.
|
---|
| 106 |
|
---|
| 107 | - New option --mmap. By default, GNU grep now uses read instead of mmap.
|
---|
| 108 | This is faster on some hosts, and is safer on all.
|
---|
| 109 |
|
---|
| 110 | - The new option -z or --null-data causes `grep' to treat a zero byte
|
---|
| 111 | (the ASCII NUL character) as a line terminator in input data, and
|
---|
| 112 | to treat newlines as ordinary data.
|
---|
| 113 |
|
---|
| 114 | - The new option -Z or --null causes `grep' to output a zero byte
|
---|
| 115 | instead of the normal separator after a file name.
|
---|
| 116 |
|
---|
| 117 | - These two options can be used with commands like `find -print0',
|
---|
| 118 | `perl -0', `sort -z', and `xargs -0' to process arbitrary file names,
|
---|
| 119 | even those that contain newlines.
|
---|
| 120 |
|
---|
| 121 | - The environment variable GREP_OPTIONS specifies default options;
|
---|
| 122 | e.g. GREP_OPTIONS='--directories=skip' reestablishes grep 2.1's
|
---|
| 123 | behavior of silently skipping directories.
|
---|
| 124 |
|
---|
| 125 | - You can specify a matcher multiple times without error, e.g.
|
---|
| 126 | `grep -E -E' or `fgrep -F'. It is still an error to specify
|
---|
| 127 | conflicting matchers.
|
---|
| 128 |
|
---|
| 129 | - -u and -U are now allowed on non-DOS hosts, and have no effect.
|
---|
| 130 |
|
---|
| 131 | - Modifications of the tests scripts to go around the "Broken Pipe"
|
---|
| 132 | errors from bash. See Bash FAQ.
|
---|
| 133 |
|
---|
| 134 | - New option -r or --recursive or --directories=recurse.
|
---|
| 135 | (This option was also in grep 2.3, but wasn't announced here.)
|
---|
| 136 |
|
---|
| 137 | - --without-included-regex disable, was causing bogus reports .i.e
|
---|
| 138 | doing more harm then good.
|
---|
| 139 |
|
---|
| 140 | Version 2.3:
|
---|
| 141 |
|
---|
| 142 | - When searching a binary file FOO, grep now just reports
|
---|
| 143 | `Binary file FOO matches' instead of outputting binary data.
|
---|
| 144 | This is typically more useful than the old behavior,
|
---|
| 145 | and it is also more consistent with other utilities like `diff'.
|
---|
| 146 | A file is considered to be binary if it contains a NUL (i.e. zero) byte.
|
---|
| 147 |
|
---|
| 148 | The new -a or --text option causes `grep' to assume that all
|
---|
| 149 | input is text. (This option has the same meaning as with `diff'.)
|
---|
| 150 | Use it if you want binary data in your output.
|
---|
| 151 |
|
---|
| 152 | - `grep' now searches directories just like ordinary files; it no longer
|
---|
| 153 | silently skips directories. This is the traditional behavior of
|
---|
| 154 | Unix text utilities (in particular, of traditional `grep').
|
---|
| 155 | Hence `grep PATTERN DIRECTORY' should report
|
---|
| 156 | `grep: DIRECTORY: Is a directory' on hosts where the operating system
|
---|
| 157 | does not permit programs to read directories directly, and
|
---|
| 158 | `grep: DIRECTORY: Binary file matches' (or nothing) otherwise.
|
---|
| 159 |
|
---|
| 160 | The new -d ACTION or --directories=ACTION option affects directory handling.
|
---|
| 161 | `-d skip' causes `grep' to silently skip directories, as in grep 2.1;
|
---|
| 162 | `-d read' (the default) causes `grep' to read directories if possible,
|
---|
| 163 | as in earlier versions of grep.
|
---|
| 164 |
|
---|
| 165 | - The MS-DOS and Microsoft Windows ports now behave identically to the
|
---|
| 166 | GNU and Unix ports with respect to binary files and directories.
|
---|
| 167 |
|
---|
| 168 | Version 2.2:
|
---|
| 169 |
|
---|
| 170 | Bug fix release.
|
---|
| 171 |
|
---|
| 172 | - Status error number fix.
|
---|
| 173 | - Skipping directories removed.
|
---|
| 174 | - Many typos fix.
|
---|
| 175 | - -f /dev/null fix(not to consider as an empty pattern).
|
---|
| 176 | - Checks for wctype/wchar.
|
---|
| 177 | - -E was using the wrong matcher fix.
|
---|
| 178 | - bug in regex char class fix
|
---|
| 179 | - Fixes for DJGPP
|
---|
| 180 |
|
---|
| 181 | Version 2.1:
|
---|
| 182 |
|
---|
| 183 | This is a bug fix release(see Changelog) i.e. no new features.
|
---|
| 184 |
|
---|
| 185 | - More compliance to GNU standard.
|
---|
| 186 | - Long options.
|
---|
| 187 | - Internationalisation.
|
---|
| 188 | - Use automake/autoconf.
|
---|
| 189 | - Directory hierarchy change.
|
---|
| 190 | - Sigvec with -e on Linux corrected.
|
---|
| 191 | - Sigvec with -f on Linux corrected.
|
---|
| 192 | - Sigvec with the mmap() corrected.
|
---|
| 193 | - Bug in kwset corrected.
|
---|
| 194 | - -q, -L and -l stop on first match.
|
---|
| 195 | - New and improve regex.[ch] from Ulrich Drepper.
|
---|
| 196 | - New and improve dfa.[ch] from Arnold Robbins.
|
---|
| 197 | - Prototypes for over zealous C compiler.
|
---|
| 198 | - Not scanning a file, if it's a directory
|
---|
| 199 | (cause problems on Sun).
|
---|
| 200 | - Ported to MS-DOS/MS-Windows with DJGPP tools.
|
---|
| 201 |
|
---|
| 202 | See Changelog for the full story and proper credits.
|
---|
| 203 |
|
---|
| 204 | Version 2.0:
|
---|
| 205 |
|
---|
| 206 | The most important user visible change is that egrep and fgrep have
|
---|
| 207 | disappeared as separate programs into the single grep program mandated
|
---|
| 208 | by POSIX 1003.2. New options -G, -E, and -F have been added,
|
---|
| 209 | selecting grep, egrep, and fgrep behavior respectively. For
|
---|
| 210 | compatibility with historical practice, hard links named egrep and
|
---|
| 211 | fgrep are also provided. See the manual page for details.
|
---|
| 212 |
|
---|
| 213 | In addition, the regular expression facilities described in Posix
|
---|
| 214 | draft 11.2 are now supported, except for internationalization features
|
---|
| 215 | related to locale-dependent collating sequence information.
|
---|
| 216 |
|
---|
| 217 | There is a new option, -L, which is like -l except it lists
|
---|
| 218 | files which don't contain matches. The reason this option was
|
---|
| 219 | added is because '-l -v' doesn't do what you expect.
|
---|
| 220 |
|
---|
| 221 | Performance has been improved; the amount of improvement is platform
|
---|
| 222 | dependent, but (for example) grep 2.0 typically runs at least 30% faster
|
---|
| 223 | than grep 1.6 on a DECstation using the MIPS compiler. Where possible,
|
---|
| 224 | grep now uses mmap() for file input; on a Sun 4 running SunOS 4.1 this
|
---|
| 225 | may cut system time by as much as half, for a total reduction in running
|
---|
| 226 | time by nearly 50%. On machines that don't use mmap(), the buffering
|
---|
| 227 | code has been rewritten to choose more favorable alignments and buffer
|
---|
| 228 | sizes for read().
|
---|
| 229 |
|
---|
| 230 | Portability has been substantially cleaned up, and an automatic
|
---|
| 231 | configure script is now provided.
|
---|
| 232 |
|
---|
| 233 | The internals have changed in ways too numerous to mention.
|
---|
| 234 | People brave enough to reuse the DFA matcher in other programs
|
---|
| 235 | will now have their bravery amply "rewarded", for the interface
|
---|
| 236 | to that file has been completely changed. Some changes were
|
---|
| 237 | necessary to track the evolution of the regex package, and since
|
---|
| 238 | I was changing it anyway I decided to do a general cleanup.
|
---|