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
]-f
scriptfile 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
Get Linux in a Nutshell, Fourth Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.