使用sed命令删除整个xml标记
我想删除整个xml标记,包括内容。但只有前两行被删除。sed或awk可以使用sed命令删除整个xml标记,xml,sed,Xml,Sed,我想删除整个xml标记,包括内容。但只有前两行被删除。sed或awk可以 <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource" maxTotal="100" maxIdle="30" maxWaitMillis="10000" username="javauser" password="javadude"
<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'//!ba}/ 使用xmlstarlet:
xmlstarlet edit --delete '//path/to/your/tag' file.xml
sed或awk是好的-他们在这里是坏的。发布扩展输入片段我建议使用XML/HTML解析器(xmlstarlet,xmllint…)。具有讽刺意味的是,标签中没有适合该工作的工具xmlstarlet
。记住这一点-jq是用于json的
,而xmlstarlet是用于xml的
。非常感谢您对这个sed的帮助。这应该是公认的答案。这项工作的权利也是xmlstarteet
。
xmlstarlet edit --delete '//path/to/your/tag' file.xml