[
address1
][
,
address2
]
s/
pattern
/
replacement
/
[
flags
]
Substitute
replacement
for
pattern
on each addressed line.
If pattern addresses are used, the pattern
//
represents the last
pattern address specified.
The following flags can be specified:
-
n
-
Replace
n
th instance of
/
pattern
/
on each addressed line.
n
is any number in the range 1 to 512; the default is 1.
-
g
-
Replace all instances of
/
pattern
/
on each addressed line, not
just the first instance.
-
p
-
Print the line if a successful substitution is done. If several
successful substitutions are done, multiple copies of the line will be
printed.
-
w
file
-
Write the line to a
file
if a replacement was done. A maximum
of 10 different
files
can be opened.
Here are some short, commented scripts:
# Change third and fourth quote to ( and ):
/function/{
s/"/(/3
s/"/)/4
}
# Remove all quotes on a given line:
/Title/s/"//g
# Remove first colon or all quotes; print resulting lines:
s/://p
s/"//gp
# Change first "if" but leave "ifdef" alone:
/ifdef/!s/if/ if/