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 № 1Cela 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