/ / Supprimer l'intégralité de la balise XML à l'aide de la commande sed - xml, sed

Supprimer l'intégralité de la balise XML à l'aide de la commande sed - xml, sed

Je veux supprimer la balise XML entière, y compris le contenu. Mais seules les deux premières lignes sont supprimées. sed ou awk est d'accord

 <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
maxTotal="100" maxIdle="30" maxWaitMillis="10000"
username="javauser" password="javadude"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/javatest"/>

Après avoir essayé la commande sed sed -i "/Resource/,/[^/>]/d" test.xml

Il me reste

  username="javauser" password="javadude" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/javatest"/>

Réponses:

0 pour la réponse № 1

Cela fera ce que tu veux

sed "/<Resource /{:a;N;//>/!ba};/<Resource/d" test.html


1 pour la réponse № 2

Avec xmlstarlet:

xmlstarlet edit --delete "//path/to/your/tag" file.xml