82 lines
3.5 KiB
Text
82 lines
3.5 KiB
Text
|
small-sed
|
||
|
by Eric S. Raymond, <esr@snark.thyrsus.com>
|
||
|
and Rene Rebe <rene@exactcode.de>
|
||
|
|
||
|
This is a smaller, cheaper, and faster SED utility. Minix uses it. GNU used
|
||
|
to use it, until they built their own sed around an extended (some would
|
||
|
say over-extended) regexp package and it is used for embedded tasks (for
|
||
|
example by the T2 SDE - http://www.t2-project.org).
|
||
|
|
||
|
The original sed 1.0 was written in three pieces; sed.h, sedcomp.c, sedexec.c.
|
||
|
Some Minix hacker ran them together into a single-file version, mnsed.c which
|
||
|
is not supported and shipped these days; if changes are needed for Minix please
|
||
|
send a patch to the normal source.
|
||
|
|
||
|
The 1.2 version (9 Oct 1996) add mnsed's support for detecting
|
||
|
truncated hold spaces. The mnsed version is missing one feature in
|
||
|
of the 1.2 version; support of +. Also, the multiple-file I/O is
|
||
|
organized slightly differently.
|
||
|
|
||
|
The 1.3 version added a bug fix by Tom Oehser, and the `L' command. Also
|
||
|
this program is now distributed under GPL.
|
||
|
|
||
|
The 1.5 version incooperated a lot of bug fixes by Rene Rebe as well as
|
||
|
a real test suite. Also the function declaration and definition have been
|
||
|
converted from the K&R C to ANSI C.
|
||
|
|
||
|
The 1.6 version includes support for the n'th match for the substitude command
|
||
|
as well as support for predefined character classes and only writes lines
|
||
|
with newline if one was present in the input line (compatible with GNU sed).
|
||
|
|
||
|
The 1.7 version fixed a segmentation fault with empty regular expressions,
|
||
|
not to leak other buffer content for groups of commands and escaping
|
||
|
numerical seperators in regular expressions by disabling obscure code.
|
||
|
Additionally compilation with older compilers as well as warnings with the
|
||
|
latest gcc versions have been corrected.
|
||
|
|
||
|
The 1.8 version fixes matching of some escaped characters (a regression
|
||
|
introduced with \+ star matching), \+ star matching to corretly copy
|
||
|
and mark the internal bytecode representation, back references inside lhs
|
||
|
regular expressions matching (to work at all) and marking the correct
|
||
|
regular expression for star matches.
|
||
|
|
||
|
The 1.9 version included a microoptimization shaving some bytes off the
|
||
|
binary and some cpu cycles at run time, reusing the previous regular
|
||
|
expressions for empty ones, predefined character classes with control
|
||
|
characters, handling of escaped ampesands and support for backreference
|
||
|
\0 and Kleene star operator on groups.
|
||
|
|
||
|
The 1.10 version fixed a special case of grouped star matching where
|
||
|
\+1..n overwrote the last match, not to infinite loop on certain zero match
|
||
|
grouped star cases and not to crash on w(rite to file). The version also
|
||
|
no longer falls into the conservative end-of-file matching mode when just
|
||
|
end-of-line matching was used.
|
||
|
|
||
|
The 1.11 version again fixed w(rite to file) handling to correctly honor
|
||
|
/dev/stdout and /dev/stderr as GNU sed does and thus keep the streams in
|
||
|
sync. Some unused variables have been removed and a two diagnostics
|
||
|
fixed to be printed correctly.
|
||
|
|
||
|
The 1.12 version fixed the l(ist) command to actually work, some tiny
|
||
|
optimizations have been performed as well as some more compiler warnings
|
||
|
fixed.
|
||
|
|
||
|
Makefile -- how to build sed
|
||
|
sed.h -- declarations and structures
|
||
|
sedcomp.c -- sed pattern compilation
|
||
|
sedexec.c -- sed program execution
|
||
|
sed.1 -- source for the man page
|
||
|
tests/ -- a small set of sed tests
|
||
|
|
||
|
For some releases the man page in the man format.
|
||
|
|
||
|
Surf to
|
||
|
|
||
|
http://www.exactcode.de/oss/minised/
|
||
|
http://www.catb.org/~esr/
|
||
|
|
||
|
for updates of this software. There is a sed FAQ kept at these
|
||
|
locations:
|
||
|
|
||
|
http://www.dreamwvr.com/sed-info/sed-faq.html
|