Sorry about give a bad example to start with.
I figured out how to do everything using your code as a start.
Here is what I end up writing which works for me:
Code:
sed '/^\s*<some text=/s/"\([^"]*\)"\([^"]*\)"\([^"]*\)"/"\1"\2"\3\3"/' abc.xml
I want to change only lines starting with <some text=
so it end up looking like this:
Code:
sed '/^\s*<some text=/s/"\([^"]*\)"\([^"]*\)"\([^"]*\)"/"\1"\2"\3\3"/' abc.xml
<some other text="6" something else="AAYURYE" more text="YYUU" number="234332"> #Something before (No change)
<some text="1" value="WWXXRRR222BBBCCWWXXRRR222BBBCC" some="ABC" moretext="1"/> #Changed because it start with <some text=
<some text="2" value="YYXXRRR444KKKCCYYXXRRR444KKKCC" some="3" moretext="4"/> #Changed because it start with <some text=
<some text="1" value="WWXXYYY222BBBTTWWXXYYY222BBBTT" some="7 moretext="5"/> #Changed because it start with <some text=
<some text="2" value="GGG66RRIIIBBBCCGGG66RRIIIBBBCC" some="8" moretext="0"/> #Changed because it start with <some text=
<some text="1" value="WWXXRRR222VVVEEWWXXRRR222VVVEE" some="6" moretext="3"/> #Changed because it start with <some text=
<some other text="8" something else="AAYTTBB" more text="IIEE" number="278462"> #Something after (No change)
Hopefully this will help someone else.
Note: I was told this sed usage may not work for Unix but should be just fine with Linux.
Thanks druuna!