sed to insert on first match only

Posted by SS. on Stack Overflow See other posts from Stack Overflow or by SS.
Published on 2012-04-02T02:08:14Z Indexed on 2012/04/02 11:29 UTC
Read the original article Hit count: 383

Filed under:
|
|

UPDATED:

Using sed, how can I insert (NOT SUBSTITUTE) a new line on only the first match of keyword for each file.

Currently I have the following but this inserts for every line containing Matched Keyword and I want it to only insert the New Inserted Line for only the first match found in the file:

sed -ie '/Matched Keyword/ i\New Inserted Line' *.*

For example:

Myfile.txt:

Line 1
Line 2
Line 3
This line contains the Matched Keyword and other stuff
Line 4
This line contains the Matched Keyword and other stuff
Line 6

changed to:

Line 1
Line 2
Line 3
New Inserted Line
This line contains the Matched Keyword and other stuff
Line 4
This line contains the Matched Keyword and other stuff
Line 6

© Stack Overflow or respective owner

Related posts about linux

Related posts about bash