shell解析xml文档
需要解析的源文件:
/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文档的更多相关文章
- 网络电视精灵~分析~~~~~~简单工厂模式,继承和多态,解析XML文档,视频项目
小总结: 所用技术: 01.C/S架构,数据存储在XML文件中 02.简单工厂模式 03.继承和多态 04.解析XML文档技术 05.深入剖析内存中数据的走向 06.TreeView控件的使用 核心: ...
- 使用dom4j解析XML文档
dom4j的包开源包,不属于JDK里面,在myeclipse中要单独导入在项目中,这里不累赘了 做这个过程,很慢,因为很多方法没用过不熟悉,自己得去查帮助文档,而且还得去试,因为没有中文版,英文翻译不 ...
- 四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)
众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM.SAX.JDOM和DOM4J 下面首先给出这四种方法的jar包下载地址 DOM:在现在的Java JDK里都自带了,在xml- ...
- java解析xml文档(dom)
DOM解析XML文档 读取本地的xml文件,通过DOM进行解析,DOM解析的特点就是把整个xml文件装载入内存中,形成一颗DOM树形结构,树结构是方便遍历和和操纵. DOM解析的特性就是读取xml文件 ...
- java 解析XML文档
Java 解析XML文档 一.解析XML文档方式: 1.DOM方式:将整个XML文档读取到内存中,按照XML文件的树状结构图进行解析. 2.SAX方式:基于事件的解析,只需要加载XML中的部分数据,优 ...
- DOM生成XML文档与解析XML文档(JUNIT测试)
package cn.liuning.test; import java.io.File; import java.io.IOException; import javax.xml.parsers.D ...
- [置顶] stax解析xml文档的6种方式
原文链接:http://blog.csdn.net/u011593278/article/details/9745271 stax解析xml文档的方式: 基于光标的查询: 基于迭代模型的查找: 基于过 ...
- Objective-C ,ios,iphone开发基础:使用GDataXML解析XML文档,(libxml/tree.h not found 错误解决方案)
使用GDataXML解析XML文档 在IOS平台上进行XML文档的解析有很多种方法,在SDK里面有自带的解析方法,但是大多情况下都倾向于用第三方的库,原因是解析效率更高.使用上更方便 这里主要介绍一下 ...
- 浅谈用java解析xml文档(四)
继续接上一文,这一阵子因为公司项目加紧,导致最后一个解析xml文档的方式,还没有总结,下面总结使用dom4J解析xml. DOM4J(Document Object Model for Java) 使 ...
- 浅谈用java解析xml文档(三)
接上一篇,本文介绍使用JDOM解析xml文档, 首先我们还是应该知道JDOM从何而来,是Breet Mclaughlin和Jason Hunter两大Java高手的创作成果,2000年初, JDOM作 ...
随机推荐
- Python数据分析易错知识点归纳(三):Pandas
三.pandas 不带括号的基本属性 df.index # 结果是一个Index对象, 可以使用等号重新赋值,如: df.index = ['a', 'b', 'c'] df.columns # 结果 ...
- kafka分区分配策略
前言 现有主流消息中间件都是生产者-消费者模型,主要角色都是:Producer -> Broker -> Consumer,上手起来非常简单,但仍有需要知识点需要我们关注,才能避免一些错误 ...
- React:styled-components有趣的用法
背景 用于记录一些styled-components的有趣的用法 绑定a标签的链接 编写伪类 在styleComponents中使用参数 传入参数
- Designer属性编辑器简介
objectName,控件对象名称. ● geometry,相对坐标系. ● sizePolicy,控件大小策略. ● minimumSize,最小宽度.高度. ● maximumSize,最大宽度. ...
- Cilium系列-9-主机路由切换为基于 BPF 的模式
系列文章 Cilium 系列文章 前言 将 Kubernetes 的 CNI 从其他组件切换为 Cilium, 已经可以有效地提升网络的性能. 但是通过对 Cilium 不同模式的切换/功能的启用, ...
- asp.net core之HttpClient
本文介绍了ASP.NET Core中的HttpClient和HttpClientFactory的作用.用法以及最佳实践.通过示例代码的展示,读者可以了解如何使用HttpClient发送HTTP请求并处 ...
- java if switch
强制类型转换 注意事项:大的转小的需要强制转换 例如: double b=3.4 int小于double所以想让int=b,要在b后面加个(int)b. int a=(int)b 得到3 因为大 ...
- 【技术积累】Linux中的命令行【理论篇】【八】
basename命令 命令介绍 在Linux中,basename命令用于从给定的路径中提取文件名或目录名.它的语法如下: basename [选项] [路径] 命令介绍 选项:-s, --suffix ...
- servlet系列:简介和基本使用以及工作流程
目录 一.简介 二.Servlet实现 三.基本使用 1.引入pom依赖 2.实现Servlet规范,重写service方法 3.配置web.xml 4.配置Tomcat 6.运行 四.Servlet ...
- 【Hexo】插件推荐以及使用小技巧
目录 插件推荐 hexo-deployer-git hexo-word-counter hexo-abbrlink hexo-generator-sitemap 小技巧 自定义提交信息 参考资料 He ...