我想删除包含内容的整个xml标记。但只有前两行被删除。 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"/>
答案 0 :(得分:1)
使用xmlstarlet:
xmlstarlet edit --delete '//path/to/your/tag' file.xml
答案 1 :(得分:0)
这将做你想要的事情
sed '/<Resource /{:a;N;/\/>/!ba};/<Resource/d' test.html