Chapter 12. The sed Editor
sed is a noninteractive (stream-oriented) editor that interprets and performs the actions in a script. sed is said to be stream-oriented because, as with 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.
Typical uses of sed include:
Editing one or more files automatically
Simplifying repetitive edits to multiple files
Writing conversion programs
sed operates as follows:
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 commands are applied to the changed line, not to 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).
For more information on sed, see sed & awk (O’Reilly).
Command-Line Syntax
The syntax for invoking sed has two forms:
sed[options]'command' file(s)sed[options]-fscriptfile file(s)
The first form allows you to specify an editing command, surrounded by single quotes, on the command line. The second form allows you to specify a
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access