Misplaced Pages

Sed

Article snapshot taken from[REDACTED] with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

This is an old revision of this page, as edited by Hirzel (talk | contribs) at 04:11, 1 August 2002. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Revision as of 04:11, 1 August 2002 by Hirzel (talk | contribs)(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

Sed is a UNIX utility which allows to modify text files. It reads in its input line by line, transforms these lines according to rules specified in a certain simple language, and outputs them. The rules often involve regular expressions. "Sed" stands for Stream EDitor. In a typical unix pipe command, you might say something like

generate_data | sed -e 's/x/y/'

That is, generate the data, but make the small change of replacing x by y.

This command is often used

sed -e 's/OldExpression1/NewExpression/g' aFileName

The s stands for substitute, the g stands for global. That means in the whole line. After the first slash there is the expression to search for and after the second slash there is the expression to substitute instead. The first expression can be a regular expression.

Sed is one of the very early unix commands that permitted command line processing of data files. Cousin to the later AWK, sed allowed powerful and interesting data processing to be done by shell scripts. Sed was probably the earliest Unix tool that really encouraged regular expressions to be used ubiquitously.

Sed and AWK are often cited as the progenitors and inspiration for Perl.

Sed's language does not have variables and only primitive GOTO and branching functionality; nevertheless, the language is Turing complete.


Sed is the Latin word for but and the Spanish word for thirst. (See also false friend.)

Sed Add topic