Sed Article Index for
Sed
Articles about
Sed
Website Links For
Sed
 

Information About

Sed




sed (which stands for '''S'''tream '''ED'''itor) is a simple but powerful Computer Program used to apply various pre-specified textual transformations to a sequential stream of text data. It reads input files line by line, edits each line according to rules specified in its simple language (the ''sed script''), and then outputs the line. While originally created as a Unix utility by Lee E. McMahon of Bell Labs in 1973 / 1974 , sed is now available for virtually every operating system that supports a Command Line .


FUNCTIONS

sed is often thought of as a non-interactive Text Editor . It differs from conventional text editors in that the processing of the two inputs is inverted. Instead of iterating once through a list of edit commands applying each one to the whole text file in memory, sed iterates once through the text file applying the whole list of edit commands to each line. Because only one line at a time is in Memory , sed can process text files with an arbitrarily-large number of lines. Some implementations of sed can only process lines of limited lengths.

sed's command set is modeled after the Ed editor, and most commands work similarly in this inverted paradigm. For example, the command 25d means ''if this is line 25, then delete (don't output) it'', rather than ''go to line 25 and delete it'' as it does in ed. The notable exceptions are the copy and move commands, which span a range of lines and thus don't have straightforward equivalents in sed. Instead, sed introduces an extra buffer called the ''hold'' space, and additional commands to manipulate it. The ed command to copy line 25 to line 76 ('''25t76''') for example would be coded as two separate commands in sed ('''25h; 76g'''), to store the line in the hold space until the point at which it should be retrieved.


USAGE

The following example shows a typical usage of sed, where the ''-e'' option indicates that the sed expression follows:
sed -e 's/oldstuff/newstuff/g' inputFileName > outputFileName

The ''s'' stands for substitute; the ''g'' stands for global, which means that all matching occurrences in the line would be replaced. After the first slash is the Regular Expression to search for and after the second slash is the expression to replace it with. The substitute command (s///) is by far the most powerful and most commonly used sed command.

Under Unix, sed is often used as a Filter in a Pipeline :