我有一堆带有搜索结果的Yandex.XML文件。 http://api.yandex.com/xml/doc/dg/concepts/response.xml仅当无关元素为值时才打印xml元素
我想找出其中第一个URL((//yandexsearch/response/results/grouping/group/doc/url)[1]
)等于某个值(比方说,http://www.example.org/
)所有这些XML文件的查询(//yandexsearch/request/query
)。
绘制一个类比grep
,我会先用-l
标志列出匹配的文档,然后通过管道这样的列表xargs xmllint
提取原始查询,但也许xmllint
(或其他OS X工具)具有更好的(另外,我还没有发现xmllint
有一个类似-l
的标志,原来的匹配在第一位)。
看起来它应该做我在问什么,但我得到一个“分段错误”! – cnst
很难说现在有什么问题;它可能是破坏软件(访问它可能不是内存),甚至是硬件损坏(内存有缺陷)。尝试使用更新版本的'xmllint',并发布更详细的错误信息(如果有_any_)。你怎么称呼'xmllint'? –
好的,所以,当我只提供了一个应该产生结果的文件时,我得到了结果,否则,即使输入只是单个文件,我也只是出现了段错误。我几乎是用一个不同的字符串“http://www.example.org/”调用xmllint,文件也都很小。 – cnst