Hello, I am trying to insert a section of text between lines in another text file.
The new lines to be inserted are:
abcd[0].efgh[N].zzzz=blah
abcd[0].efgh[N].xxxx=blah
Where N = 0 to 2
Original File:
abcd[0].efgh[0].wwxx=aaaaa
abcd[0].efgh[0].yyzz=bbbbb
abcd[0].efgh[1].wwxx=aaaaa
abcd[0].efgh[1].yyzz=bbbbb
abcd[0].efgh[2].wwxx=aaaaa
abcd[0].efgh[2].yyzz=bbbbb
Change to:
abcd[0].efgh[0].wwxx=aaaaa
abcd[0].efgh[0].yyzz=bbbbb
abcd[0].efgh[0].zzzz=blah
abcd[0].efgh[0].xxxx=blah
abcd[0].efgh[1].wwxx=aaaaa
abcd[0].efgh[1].yyzz=bbbbb
abcd[0].efgh[1].zzzz=blah
abcd[0].efgh[1].xxxx=blah
abcd[0].efgh[2].wwxx=aaaaa
abcd[0].efgh[2].yyzz=bbbbb
abcd[0].efgh[2].zzzz=blah
abcd[0].efgh[2].xxxx=blah
This is what I have done so far (and it works with Linux GNU sed), but I am looking for a more elegant way to do it. Perhaps using backreferencing?
sed "{
/efgh\[0\].yyzz=bbbbb/a abcd[0].efgh[0].wwxx=aaaaa\nabcd[0].efgh[0].xxxx=blah
/efgh\[1\].yyzz=bbbbb/a abcd[0].efgh[1].wwxx=aaaaa\nabcd[0].efgh[1].xxxx=blah
/efgh\[2\].yyzz=bbbbb/a abcd[0].efgh[2].wwxx=aaaaa\nabcd[0].efgh[2].xxxx=blah
}" dataset.txt
Any ideas?
Thanks in advance.