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

Popular posts from this blog

android - Why am I getting the message 'Youractivity.java is not an activity subclass or alias' -

python - How do I create a list index that loops through integers in another list -

c# - “System.Security.Cryptography.CryptographicException: Keyset does not exist” when reading private key from remote machine -