/ / sedコマンドを使用してxmlタグ全体を削除する - xml、sed

sedコマンドを使用してxmlタグ全体を削除する - xml、sed

コンテンツを含むxmlタグ全体を削除したいです。しかし、最初の2行だけが削除されています。 sedまたはawkは大丈夫です

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

sedコマンドを試した後 sed -i "/Resource/,/[^/>]/d" test.xml

私は残っています

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

回答:

回答№1は0

これはあなたが望むことをするでしょう

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


回答№2の場合は1

xmlstarletを使うと:

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