使用 xmlstarlet 选择文本中的前两个单词

问题描述 投票:0回答:1

我有一个简单的 xml 文件,我想使用 xmlstarlet 选择 1) 前两个出现的单词和 2) 元素中的其余单词:

<fig> 
    <caption>Figure 1: Testing the figure</caption> 
</fig> 

结果将如下所示:

图1:

测试图

我已经尝试过了,但不起作用:

xmlstarlet ed  -s -v substring(//fig/caption,1,string-length(substring-before(//fig/caption," "))+string-length(substring-before(substring-after(//fig/caption," ")," "))+1) input.xml

提前致谢。

奥夫佐

xml xmlstarlet
1个回答
0
投票

我建议:

xmlstarlet select --template -v '//fig/caption' -n input.xml | sed 's/[^ ]* [^ ]* //'

输出:

测试图
© www.soinside.com 2019 - 2024. All rights reserved.