Short: Amiga stream editor Author: thor@math.tu-berlin.de (Thomas Richter) Uploader: thor math tu-berlin de (Thomas Richter) Type: util/cli Version: 40.3 Requires: AmigaOs 3.0 or better Architecture: m68k-amigaos ______________________________________________________________________________ Purpose of this program: SED takes an input file, checks each line of this file against a pattern supplied on the command line, and generates a new line from this pattern match in the destination. This could either mean that the matching line is removed completely from the output, replaced by a different line, or changed according to the specifications of SED. SED is an approximation of the Unix "stream editor" sed. It is not quite as powerful as sed because its command set is currently very limited, and it does not support command files. Its pattern syntax is different, too. It still looks like "line noise" to me - I didn't want to break with this tradition - but it's at least the Amiga kind of line noise. Its pattern matching rules are a superset of the AmigaOs patterns, with some additional features like "captured expressions" and more powerful "character classes" and "escaping". SED is useful for automatic processing of text files, e.g. the modi- fication of the startup-sequence. SED can also be run as a "filter" in which case it reads its input from stdin and prints output to stdout. Combine this feature with pipes and you get a very powerful text processing tool. A warning: Pattern matching looks simple, but is full of hard to gasp traps. This tool is therefore thought to be for "expert usage". In case you think SED doesn't process your pattern correctly, think twice! For further details, please read the SED.doc. ______________________________________________________________________________ Release 40.3: VERBOSE prints now also file name and line number information such that SED can be used as a "Search" (or "grep") replacement. ______________________________________________________________________________ Release 40.2: Due to an oversight, the character ranges [..-..] were broken. Fixed. Handling of (..|..) "or-operator" was broken. Fixed. Escaping with \ could leave bogus patterns in the pattern stream and could have caused non-justified "invalid template" errors. Fixed. ______________________________________________________________________________ Release 40.1: The former release used memory pools, but did not check correctly whether the corresponding exec functions are available. Required and requires Kickstart 3.0. Could have forgotten to return "ERROR_NO_FREE_STORE" for some out of memory error conditions. ______________________________________________________________________________ Release 40.0: This is the first Aminet release. This is a 40.0 release because pattern matching is a very complex buisiness and even though I tested this release quite good, I wouldn't be astonished if some flaws still remained. Pattern matching logic is astonishing sometimes, so please check the documentation first before reporting any "obvious" bugs. The obvious bugs should be gone already! ______________________________________________________________________________ The THOR-Software Licence (v2, 24th June 1998) This License applies to the computer programs known as "SED". The "Program", below, refers to such program. The "Archive" refers to the package of distribution, as prepared by the author of the Program, Thomas Richter. Each licensee is addressed as "you". The Program and the data in the archive are freely distributable under the restrictions stated below, but are also Copyright (c) Thomas Richter. Distribution of the Program, the Archive and the data in the Archive by a commercial organization without written permission from the author to any third party is prohibited if any payment is made in connection with such distribution, whether directly (as in payment for a copy of the Program) or indirectly (as in payment for some service related to the Program, or payment for some product or service that includes a copy of the Program "without charge"; these are only examples, and not an exhaustive enumeration of prohibited activities). However, the following methods of distribution involving payment shall not in and of themselves be a violation of this restriction: (i) Posting the Program on a public access information storage and retrieval service for which a fee is received for retrieving information (such as an on-line service), provided that the fee is not content-dependent (i.e., the fee would be the same for retrieving the same volume of information consisting of random data). (ii) Distributing the Program on a CD-ROM, provided that a) the Archive is reproduced entirely and verbatim on such CD-ROM, including especially this licence agreement; b) the CD-ROM is made available to the public for a nominal fee only, c) a copy of the CD is made available to the author for free except for shipment costs, and d) provided further that all information on such CD-ROM is redistributable for non-commercial purposes without charge. Redistribution of a modified version of the Archive, the Program or the contents of the Archive is prohibited in any way, by any organization, regardless whether commercial or non-commercial. Everything must be kept together, in original and unmodified form. Limitations. THE PROGRAM IS PROVIDED TO YOU "AS IS", WITHOUT WARRANTY. THERE IS NO WARRANTY FOR THE PROGRAM, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. IF YOU DO NOT ACCEPT THIS LICENCE, YOU MUST DELETE THE PROGRAM, THE ARCHIVE AND ALL DATA OF THIS ARCHIVE FROM YOUR STORAGE SYSTEM. YOU ACCEPT THIS LICENCE BY USING OR REDISTRIBUTING THE PROGRAM. Thomas Richter ______________________________________________________________________________ Thomas Richter, December 2000