【发布时间】:2013-06-24 09:35:58
【问题描述】:
我正在尝试从已作为变量读入我的脚本的 xml 文档中提取一个值。原始变量 $data 是:
<item>
<title>15:54:57 - George:</title>
<description>Diane DeConn? You saw Diane DeConn!</description>
</item>
<item>
<title>15:55:17 - Jerry:</title>
<description>Something huh?</description>
</item>
我希望提取第一个标题值,所以
15:54:57 - George:
我一直在使用 sed 命令:
title=$(sed -n -e 's/.*<title>\(.*\)<\/title>.*/\1/p' <<< $data)
但这只会输出第二个标题值:
15:55:17 - Jerry:
有谁知道我做错了什么? 谢谢!
【问题讨论】:
-
您提供的测试数据不是有效的 XML 文档。您的真实数据是什么样的?
-
无复制。我两个都懂。
-
...为了更清楚我所说的“不是有效的 XML 文档”的意思——它没有根元素,它的标签也没有全部关闭。这很重要;旨在处理无效 XML 的答案与可以假定合法合规输入的答案不同。