设为首页收藏本站

LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区!

 找回密码
 注册

用新浪微博连接

一步搞定

QQ登录

只需一步,快速开始

查看: 1154|回复: 3

[shell] shell读取xml值求助 [复制链接]

Rank: 8Rank: 8

签到
480
注册时间
2010-8-18
最后登录
2017-5-10
在线时间
271 小时
阅读权限
90
积分
46275
帖子
52
主题
10
精华
0
UID
10142
发表于 2017-4-15 11:58:36 |显示全部楼层
<?xml version="1.0" encoding="UTF-8"?>
<main>
  <issue>
    <ID>4947</ID>
    <PROGA><ID>HU23</ID></PROGA>
    <text>测试1</text>
    <updated_on>Thu Dec 24 16:38:13 +0800 2015</updated_on>
  </issue>

  <issue>
    <ID>2347</ID>
    <PROGA><ID>HU24</ID></PROGA>
    <text>测试2</text>
    <updated_on>Thu Dec 24 16:38:13 +0800 2015</updated_on>
  </issue>
</main>

想取    <PROGA><ID> 和 <text> 的值

输出结果:
HU23 测试1
HU24 测试2

shell读取xml值求助

Rank: 3Rank: 3

注册时间
2017-6-19
最后登录
2017-6-22
在线时间
2 小时
阅读权限
30
积分
560
帖子
4
主题
0
精华
0
UID
75649
发表于 3 天前 |显示全部楼层
本帖最后由 791708501 于 2017-6-20 09:53 编辑
  1. [root@localhost ~]# grep -E "(text|PROGA)" 3|awk 'NR%2{printf $0" ";next}1' |sed 's/<[^>]*>//g'
  2.     HU23     测试1
  3.     HU24     测试2
复制代码

使用道具 举报

Rank: 3Rank: 3

注册时间
2017-6-19
最后登录
2017-6-22
在线时间
2 小时
阅读权限
30
积分
560
帖子
4
主题
0
精华
0
UID
75649
发表于 3 天前 |显示全部楼层
或者是这样
  1. grep -E "(text|PROGA)" FILENAME|awk '{printf NR%2?$0" ":$0"\n"}'|sed 's/<[^>]*>//g'
复制代码

使用道具 举报

Rank: 3Rank: 3

注册时间
2017-6-19
最后登录
2017-6-22
在线时间
2 小时
阅读权限
30
积分
560
帖子
4
主题
0
精华
0
UID
75649
发表于 3 天前 |显示全部楼层
本帖最后由 791708501 于 2017-6-20 16:43 编辑
  1. awk '/PROGA/{getline d;print d,$0}'|sed 's/<[^>]*>//g'
复制代码

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

IT运维专家网感谢您的支持

合作联系: QQ:67888954/MSN:cnseek@msn.com/mail:netseek@linuxtone.org

Archiver|手机版|感谢所有关心和支持过LinuxTone的朋友们 转载本站内容请注明原作者名及出处 ( 京ICP备08103151 )   |

GMT+8, 2017-6-23 06:15 , Processed in 0.019940 second(s), 12 queries , Apc On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部