filestore.xml
我有需要从中提取的文件/local/armdata/data/filestore1
,/local/armdata/data/filestore2
.
grep binariesDir filestore.xml
<binariesDir>/local/armdata/data/filestore1</binariesDir>
<binariesDir>/local/armdata/data/filestore2</binariesDir>
有什么办法可以做到这一点吗?
答案1
使用XMLStarlet
:
xml sel -t -v '//binariesDir' filestore.xml
在安装了软件包的 Ubuntu 上xmlstarlet
,我需要使用这个:
xmlstarlet sel -t -v '//binariesDir' filestore.xml
答案2
您可以使用sed
。
sed -nre 's:^.*<binariesDir>(.*)</binariesDir>.*$:\1:p' filestore.xml
这可以处理 binariesDir 的搜索以及提取<binariesDir>
和之间的值</binariesDir>
。