/ / Löschen Sie das gesamte XML-Tag mit dem Befehl sed - xml, sed

Löschen Sie das gesamte XML-Tag mit dem Befehl sed - xml, sed

Ich möchte das gesamte XML-Tag einschließlich des Inhalts löschen. Es werden jedoch nur die ersten 2 Zeilen gelöscht. sed oder awk ist okay

 <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"/>

Nachdem Sie den sed-Befehl ausprobiert haben sed -i "/Resource/,/[^/>]/d" test.xml

Ich bin übrig mit

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

Antworten:

0 für die Antwort № 1

Das wird tun, was Sie wollen

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


1 für die Antwort № 2

Mit xmlstarlet:

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