small-sed by Eric S. Raymond, and Rene Rebe 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