linux - How do I use sed for selective replacement of certain lines -
i have text follows in file:
line 1 line 2 word1 line3 line 4 word2 line5
i replace lines between word1 , word2 produce final output:
line 1 line 2 new lines xxxxx line5
with sed '/word1/,/word2/d' input.txt
can remove lines, how can replace them instead of deleting them?
one way:
replacement text file:
$ cat rep new lines xxxxx
input file:
$ cat file line 1 line 2 word1 line3 line 4 word2 line5
sed command:
$ sed '/word1/,/word2/{ > /word2/r rep > d > }' file
the sed command seraches line range word1 till word2 , deletes lines(d) , , when word2 encounterd, dumps replacement file contents(r rep).
Comments
Post a Comment