UNIX in a Nutshell: System V Edition

UNIX in a Nutshell: System V EditionSearch this book
Previous: 10.2 Conceptual OverviewChapter 10
The Sed Editor
Next: 10.4 Group Summary of Sed Commands
 

10.3 Syntax of Sed Commands

Sed commands have the general form:

[address][,address][!]command [arguments]

Sed commands consist of addresses and editing commands. commands consist of a single letter or symbol; they are described later, alphabetically and by group. arguments include the label supplied to b or t, the filename supplied to r or w, and the substitution flags for s. addresses are described below.

10.3.1 Pattern Addressing

A sed command can specify zero, one, or two addresses. An address can be a line number, the symbol $ (for last line), or a regular expression enclosed in slashes (/pattern/). Regular expressions are described in Section 6. Additionally, \n can be used to match any newline in the pattern space (resulting from the N command), but not the newline at the end of the pattern space.

If the command specifies:Then the command is applied to:
No addressEach input line
One address

Any line matching the address. Some commands accept only one address: a, i, r, q, and =.

Two comma-separated addresses

First matching line and all succeeding lines up to and including a line matching the second address.

An address followed by !All lines that do not match the address.

10.3.2 Examples

s/xx/yy/gSubstitute on all lines (all occurrences).
/BSD/dDelete lines containing BSD.
/^BEGIN/,/^END/pPrint between BEGIN and END, inclusive.
/SAVE/!dDelete any line that doesn't contain SAVE.
/BEGIN/,/END/!s/xx/yy/gSubstitute on all lines, except between BEGIN and END.

Braces ({}) are used in sed to nest one address inside another or to apply multiple commands at the same address.

[/pattern/][,/pattern/]{
command1
command2
}

The opening curly brace must end a line, and the closing curly brace must be on a line by itself. Be sure there are no blank spaces after the braces.


Previous: 10.2 Conceptual OverviewUNIX in a Nutshell: System V EditionNext: 10.4 Group Summary of Sed Commands
10.2 Conceptual OverviewBook Index10.4 Group Summary of Sed Commands

The UNIX CD Bookshelf NavigationThe UNIX CD BookshelfUNIX Power ToolsUNIX in a NutshellLearning the vi Editorsed & awkLearning the Korn ShellLearning the UNIX Operating System