Sed is a non-interactive, or
s
tream-oriented,
ed
itor.
It interprets a script and performs the actions in the script.
Sed is stream-oriented because,
like many UNIX programs, input flows through the program and is
directed to standard output. For example,
sort
is stream-oriented;
vi is not. Sed's input typically comes from
a file but can be directed from the keyboard. Output
goes to the screen by default but can be captured in a file instead.
-
Editing one or more files automatically.
-
Simplifying repetitive edits to multiple files.
-
Writing conversion programs.
-
Each line of input is copied into a pattern space.
-
All editing commands in a sed script are applied in order
to each line of input.
-
Editing commands are applied to all lines (globally) unless line
addressing restricts the lines affected.
-
If a command changes the input, subsequent command-addresses
will be applied to the current line in the pattern space, not the original
input line.
-
The original input file is unchanged because the editing commands modify
a copy of the original input line. The copy is sent to standard output
(but can be redirected to a file).