home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam  


UNIX in a Nutshell: System V Edition

UNIX in a Nutshell: System V EditionSearch this book
Previous: 10.2 Conceptual Overview Chapter 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 address Each 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/g Substitute on all lines (all occurrences).
/BSD/d Delete lines containing BSD .
/^BEGIN/,/^END/p Print between BEGIN and END , inclusive.
/SAVE/!d Delete any line that doesn't contain SAVE .
/BEGIN/,/END/!s/xx/yy/g Substitute 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 Overview UNIX in a Nutshell: System V Edition Next: 10.4 Group Summary of Sed Commands
10.2 Conceptual Overview Book Index 10.4 Group Summary of Sed Commands

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