如何用sed命令,获取XML数据中指定节点的内容?

matrix1984 2011-03-01 11:03:28
有如下XML段:
<audit-record><audit-entry dataType="Text"><name>registerDt</name><value>'Fri Jan 15 00:00:00 ICT 2010'   (old='2010-01-15 00:00:00.0')</value></audit-entry><audit-entry dataType="Text"><name>titleEnum</name><value>'KBEoTitle81' ['CO.,LTD.']</value></audit-entry></audit-record>


它只是很长XML里的一小段,这样的XML数据很多,每个放在txt文档的一行,现在希望截取registerDt的value,比如上面就是:'Fri Jan 15 00:00:00 ICT 2010' (old='2010-01-15 00:00:00.0')
请问如何用sed命令来截取,或者其它的方式。谢谢。
...全文
331 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
瓜子壳 2011-03-05
  • 打赏
  • 举报
回复
awk -F '</value>|<value>' '{for(count=1;$count~/registerDt/;count++) print $(count+1) }' test.txt
试一下,应该可以
benjaminweber 2011-03-02
  • 打赏
  • 举报
回复
grep不可以吗?
louyong0571 2011-03-02
  • 打赏
  • 举报
回复
xml格式编辑一下吧,到底啥个格式啊?
matrix1984 2011-03-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 louyong0571 的回复:]

xml格式编辑一下吧,到底啥个格式啊?
[/Quote]
<audit-record><audit-entry dataType="Text"><name>registerDt</name><value>'Fri Jan 15 00:00:00 ICT 2010'   (old='2010-01-15 00:00:00.0')</value></audit-entry><audit-entry dataType="Text"><name>titleEnum</name><value>'KBEoTitle81' ['CO.,LTD.']</value></audit-entry></audit-record>

19,620

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧