I have configuration file
<configuration>
 <property>
    <name>name1</name>
    <value>value1</value>
    <description>desc1</description>
</property>
 <property>
    <name>name2</name>
    <value>valueToRemove</value>
    <description>desc2</description>
 </property>
 <property>
    <name>name3</name>
    <value>value3</value>
    <description>desc3</description>
 </property>
 <property>
    <name>name3</name>
    <value>valueToRemove</value>
    <description>desc4</description>
 </property>
 <property>
    <name>name5</name>
    <value>valu5</value>
 </property>
</configuration>
I want to remove all property tags that contains value valueToRemove.
I want next output
<configuration>
 <property>
    <name>name1</name>
    <value>value1</value>
    <description>desc1</description>
</property>
 <property>
    <name>name3</name>
    <value>value3</value>
    <description>desc3</description>
 </property>
 <property>
    <name>name5</name>
    <value>valu5</value>
 </property>
</configuration>
Next bash script removes only lines with value tags.
sed -i "/[<property>].*valueToRemove.*[<\/property]>/d"  "test"
Help me, please, I am very new to bash and regex.
 
     
    