Name
s
Synopsis
[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. Any delimiter may be used. Use \
within pattern or
replacement to escape the delimiter. The
following flags can be specified (those marked with a † are
specific to GNU sed ):
- n
Replace n th instance of pattern on each addressed line. n is any number in the range 1 to 512, and the default is 1.
e
†If the substitution was made, execute the contents of the pattern space as a shell command and replace the pattern space with the results.
-
g
Replace all instances of pattern on each addressed line, not just the first instance.
i
orI
†Do a case-insensitive regular expression match.
m
orM
†Allow
^
and$
to match around a newline embedded in the pattern space.-
p
Print the line if the substitution is successful. If several successive substitutions are successful, sed prints multiple copies of the line.
-
w
file
Write the line to file if a replacement was done. In Unix sed, a maximum of 10 different files can be opened.
GNU sed allows you to use the special filenames
/dev/stdout
and/dev/stderr
to write to standard output or standard error, respectively.
Within the replacement, GNU sed accepts special escape sequences, with the following meanings:
|
Lowercase the replacement text
until a terminating |
|
Lowercase the following character only. |
|
Uppercase the replacement ... |
Get Unix in a Nutshell, 4th 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.