
762
|
Chapter 10: The sed Editor
This is the Title of the Book, eMatter Edition
Copyright © 2006 O’Reilly & Associates, Inc. All rights reserved.
d
[address1[,address2]]d
Delete the addressed line (or lines) from the pattern space. Thus,
the line is not passed to standard output. A new line of input is
read, and editing resumes with the first command in the script.
Example
# Delete all empty lines, including lines with just
whitespace:
/^[#tab]*$/d
D
[address1[,address2]]D
Delete the first part (up to embedded newline) of a multiline
pattern space created by the N command, and resume editing with
the first command in the script. If this command empties the
pattern space, then a new line of input is read, as if the d command
had been executed.
Example
# Strip multiple blank lines, leaving only one:
/^$/{
N
/^\n$/D
}
e
[address1[,address2]]e [command] {G}
With command, execute the command and send the result to stan-
dard output. Without command, execute the contents of the
pattern space as a command, and replace the pattern space with
the results.
g
[address1[,address2]]g
Paste the contents of the hold space (see h and H) back into the
pattern space, wiping out the previous contents of the pattern
space. The Example shows a simple way to copy lines.
Example
This script collects all lines containing the word Item: and copies
them to a place marker later in the file. The place marker is
overwritten:
/Item:/H
/<Replace this ...