使用sed去除maven项目中xml文件中的注释-支持单行&多行处理 有更新!
场景:
在做一些自动化的脚本处理. 现在要提取Maven
工程中的pom.xml
文件中的引用jar包的版本定义.
如:
<properties>
<leo.pdf.version>1.0.2</leo.pdf.version>
</properties>
此时需要准确为别标签
properties
内部的内容. 同时还要对里面可能存在的注释进行识别. 以便进行区分过滤.最终得到一个真正的版本定义.
可能遇到的问题:
- 被注释掉的内容
<!-- <leo.pdf.version>1.0.2</leo.pdf.version> -->
- 正文部分后面包含注释内容
<leo.pdf.version>1.0.2</leo.pdf.version><!-- 跟在右边的注释-->
- 多行注释
<leo.pdf.version>1.0.2</leo.pdf.version>
<!-- 第一行
第二行
跟在右边的注释
-->
- 行内多注释注释
<leo.pdf.version>1.0.2</leo.pdf.version><!-- 第一个注释 --> <leo.auth.version>1.0.0</leo.auth.version><!-- 第二个注释 -->
虽然这些问题可以规范大家的编码规则 .但是对于一个写自动化处理脚本来说,还是要尽可能的兼容所有的场景才是.