This directory contains GNU sed.

This sed may run slower than some UN*X seds but it supports a richer
regular expression language than many seds, and has fewer arbitrary
limits (for example, the hold space can grow arbitrarily).

A faster version of sed (and of the GNU regex library) is in the
works.

See the file INSTALL for compilation and installation instructions.


ABOUT BUGS

Before reporting a bug, please check the list of oft-reported non-bugs
(below).

Bugs and comments may be sent to bug-gnu-utils@prep.ai.mit.edu.

NONBUGS

* `sed -n' and `s/regex/replace/p'

Some versions of sed ignore the `p' (print) option of an `s' command
unless the `-n' command switch has been specified.  Other versions
always honor the `p' option.  GNU sed is the latter sort.

* regexp syntax clashes

GNU sed uses the Posix basic regular expression syntax.  According to
the standard, the meaning of some escape sequences is undefined in
this syntax;  notably  `\|' and `\+'.

As in all GNU programs that use Posix basic regular expressions, sed
interprets these escape sequences as meta-characters.  So, `x\+'
matches one or more occurences of `x'.   `abc\|def' matches either
`abc' or `def'.

This syntax may cause problems when running scripts written for other
seds.  Some sed programs have been written with the assumption that
`\|' and `\+' match the literal characters `|' and `+'.  Such scripts
must be modified by removing the spurious backslashes if they are to
be used with GNU sed.

[If you have need of a free sed that understands the regexp
 syntax of your choice, the source to GNU sed may be a good place to
 start.  Consider changing the call to re_set_syntax in function main
 in `sed.c'.  The file regex.h contains an explanation of the
 supported syntax options.]

