Limiting substitution

We saw how the g flag modifies all occurrences in the same line and this goes for the entire file lines.

What if we want to limit our edits to a specific line? Or a specific line range?

We can specify the ending line or the line range like this:

$ sed '2s/old text/new text/' myfile 

The preceding command will only modify the second line of the file. The following command will modify only the third to the fifth lines:

$ sed '3,5s/old text/new text/' myfile  

The following command will modify from the second line to the end of the file:

$ sed '2,$s/old text/new text/' myfile  

Get Mastering Linux Shell Scripting 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.