【发布时间】:2021-03-20 22:20:19
【问题描述】:
我不熟悉 bash 和字符串,需要从 xml 文件中获取值, 卷曲我得到的 xml 后:
<metadata modelVersion="1.1.0">
<groupId>com.company.NYC</groupId>
<artifactId>scripts</artifactId>
<version>2.3.7-SNAPSHOT</version>
<versioning>
<snapshot>
<timestamp>20201209.102124</timestamp>
<buildNumber>38</buildNumber>
</snapshot>
<lastUpdated>20201209104133</lastUpdated>
<snapshotVersions>
<snapshotVersion>
<classifier>NYC</classifier>
<extension>zip</extension>
<value>2.3.7-20201209.102124-38</value>
<updated>20201209102124</updated>
</snapshotVersion>
<snapshotVersion>
<classifier>tests</classifier>
<extension>jar</extension>
<value>2.3.7-20201209.102124-38</value>
<updated>20201209102124</updated>
</snapshotVersion>
<snapshotVersion>
<extension>pom</extension>
<value>2.3.7-20201209.102124-38</value>
<updated>20201209102124</updated>
</snapshotVersion>
</snapshotVersions>
</versioning>
</metadata>
使用这个命令,我得到版本标签值:
#wget -q -N $urlversion=$(curl -s https://www.artifactoty.company.net/artifactory/maven-dev-local/com/google/api/framework/maven-metadata.xml --insecure | grep -oP '(?<=<value>).*?(?=</value>))
我需要的只是压缩文件后的值:
extension>zip</extension>
<value>2.3.7-20201209.102124-38</value>
2.3.7-20201209.102124-38 值。
我怎么能单独得到它。
感谢朋友。
【问题讨论】:
-
这能回答你的问题吗? How to parse XML in Bash?