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. The following flags can be specified:
- n
Replace nth 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.
- I
Case insensitive match. This flag is available only on GNU versions of sed.
- 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.
Examples
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/
Get Linux in a Nutshell, Fourth 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.