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