shell解析xml文档
来源:互联网 发布:代购记账软件 编辑:程序博客网 时间:2024/05/18 20:33
需要解析的源文件:
/tmp/cameralist :
<?xml version="1.0" encoding="UTF-8"?>
<cameralist>
<camera brand="virtual camera" ip="192.168.1.17" mac="000000000000" hasAudio="no" hasVideo="yes">
<url codec="m4v">rtsp://192.168.1.17:5554/ipcam1.m4v</url>
</camera>
<camera brand="virtual camera" ip="192.168.1.17" mac="000000000000" hasAudio="no" hasVideo="yes">
<url codec="m4v">rtsp://192.168.1.17:5554/ipcam2.m4v</url>
</camera>
<camera brand="virtual camera" ip="192.168.1.17" mac="000000000000" hasAudio="no" hasVideo="yes">
<url codec="m4v">rtsp://192.168.1.17:5554/ipcam3.m4v</url>
</camera>
<camera brand="virtual camera" ip="192.168.1.17" mac="000000000000" hasAudio="no" hasVideo="yes">
<url codec="m4v">rtsp://192.168.1.17:5554/ipcam4.m4v</url>
</camera>
<camera brand="virtual camera" ip="192.168.1.17" mac="000000000000" hasAudio="no" hasVideo="yes">
<url codec="m4v">rtsp://192.168.1.17:5554/ipcam5.m4v</url>
</camera>
<camera brand="virtual camera" ip="192.168.1.17" mac="000000000000" hasAudio="no" hasVideo="yes">
<url codec="m4v">rtsp://192.168.1.17:5554/ipcam6.m4v</url>
</camera>
</cameralist>
1.取得brand字段的内容:(value中可以有空格)
grep -Eo "brand=/".+/"" /tmp/cameralist | awk -F/" '{print $2}'
结果为
virtual camera
virtual camera
virtual camera
virtual camera
virtual camera
virtual camera
AXIS M1011-W
2..取得brand字段的内容:(value不可以有空格,有空格则返回值为空,如果没有空格返回值正常)
grep -Eo "brand=/"[^ ]+/"" /tmp/cameralist | awk -F/" '{print $2}'
结果为空
如果grep -Eo "ip=/"[^ ]+/"" /tmp/cameralist | awk -F/" '{print $2}'
192.168.1.17
192.168.1.17
192.168.1.17
192.168.1.17
192.168.1.17
192.168.1.17
192.168.1.103
3.取得xml文档中含有virtual的行数
v_num=`awk -v RS='virtual' 'END{print NR-1}' /tmp/cameralist`
- shell解析xml文档
- shell解析xml文档
- Dom解析XML文档
- jdom解析xml文档
- Java解析XML文档
- JAVA 解析XML文档
- DOM 解析 XML 文档
- DOM解析XML文档
- TinyXML解析xml文档
- jdom解析xml文档
- xml 文档解析
- Symbian解析XML文档
- java解析xml文档
- Dom4j解析XML文档
- 解析xml文档
- libxml -- 解析 XML 文档
- DOM解析XML文档
- dom4j解析xml文档
- 自用
- 外键与主键
- 微软一站式示例代码库(中文版)2011-05-13版本, 新添加Azure, WinForms等16个Sample
- vitualstudio-[vitualStudio Tools]-[vitual Studio2008 x64兼容工具命令提示]
- 对Linux内存管理的思考
- shell解析xml文档
- 关于Android中注册以内部类形式写的BroadcastReceiver的问题
- wicket 日期控件之应用
- ListBox脚本控制:项从一个ListBox移动到另一个ListBox
- 解决ORA-39166: Object CCXE.RR_JYRESEARCHREPORT was not found错误
- H264关于RTP协议的实现
- rfc3016:用于MPEG-4视听流的RTP负载格式
- 动态更改WebBrowser数据流内容 (动态修改网页源码)
- 用组策略来管理 SQL SERVER 2008 Auto Shrink database 上