Linux中AWK获取xml文件节点值
来源:互联网 发布:人数统计摄像头的算法 编辑:程序博客网 时间:2024/05/16 07:55
config.xml:
<config version=1.0>
<MOC name="PEER">
<MIC name="BUSSIP" PORT="18000" value="10.10.10.10"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.11"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.12"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.13"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.14"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.15"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.19"/>
</MOC>
<MOC name="SPM">
<MIC name="BUSSIP" PORT="18000" value="10.10.10.20"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.21"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.22"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.23"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.24"/>
</MOC>
<MOC name="PEER">
<MIC name="BUSSIP" PORT="18000" value="10.10.10.25"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.26"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.27"/>
</MOC>
<MOC name="SPM">
<MIC name="BUSSIP" PORT="18000" value="10.10.10.28"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.29"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.30"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.31"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.32"/>
</MOC>
<MOC name="LMS">
<MIC name="BUSSIP" PORT="18000" value="10.10.10.33"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.34"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.35"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.36"/>
</MOC>
</config>
我的需求:
遍历config.xml文件,查找与指定的IP相等的父标签的name属性。例如:查找到10.10.10.27,就返回“PEER”值;查找到10.10.10.31,就返回“SPM”值
如果上面不能实现,也可以用下面的需求:
遍历config.xml文件的所有<MOC name="LMS">标签中的内容,如果找到匹配的ip如10.10.10.35,返回“LMS”值,遍历所有<MOC name="SPM">标签对的内容,
如果找到匹配的ip如10.10.10.31,就返回“LMS”值
需要用awk实现,哪位兄弟如果有招的话,麻烦指教下!!!小弟感激不尽!!!
awk -F'"' '/MOC/{a=$2}/10.10.10.27/{print a}'
<config version=1.0>
<MOC name="PEER">
<MIC name="BUSSIP" PORT="18000" value="10.10.10.10"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.11"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.12"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.13"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.14"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.15"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.19"/>
</MOC>
<MOC name="SPM">
<MIC name="BUSSIP" PORT="18000" value="10.10.10.20"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.21"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.22"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.23"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.24"/>
</MOC>
<MOC name="PEER">
<MIC name="BUSSIP" PORT="18000" value="10.10.10.25"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.26"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.27"/>
</MOC>
<MOC name="SPM">
<MIC name="BUSSIP" PORT="18000" value="10.10.10.28"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.29"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.30"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.31"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.32"/>
</MOC>
<MOC name="LMS">
<MIC name="BUSSIP" PORT="18000" value="10.10.10.33"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.34"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.35"/>
<MIC name="BUSSIP" PORT="18000" value="10.10.10.36"/>
</MOC>
</config>
我的需求:
遍历config.xml文件,查找与指定的IP相等的父标签的name属性。例如:查找到10.10.10.27,就返回“PEER”值;查找到10.10.10.31,就返回“SPM”值
如果上面不能实现,也可以用下面的需求:
遍历config.xml文件的所有<MOC name="LMS">标签中的内容,如果找到匹配的ip如10.10.10.35,返回“LMS”值,遍历所有<MOC name="SPM">标签对的内容,
如果找到匹配的ip如10.10.10.31,就返回“LMS”值
需要用awk实现,哪位兄弟如果有招的话,麻烦指教下!!!小弟感激不尽!!!
awk -F'"' '/MOC/{a=$2}/10.10.10.27/{print a}'
- Linux中AWK获取xml文件节点值
- 获取XML文件某一个节点的值
- Xml中获取子节点的值
- java中dom4j解析xml文件怎么获取节点属性
- 修改xml文件中节点的值
- Domj4读取XML文件--实现获取XML文件中所有的标签节点
- c# 获取xml文件中某些节点下的标签节点
- C#中用XmlDocument对象获取XML文件中的节点值
- boost 解析XML文件,获取子节点的属性值
- 如何创建XML文件并获取其中某一节点值
- java解析xml文件获取节点内容
- 获取xml节点的值
- 项目中xml获取所有子节点
- 遍历课上例题shuiguo.xml文件中根节点的所有节点,打印节点名称和节点值
- tinyxml使用:创建XML,遍历打印xml文件 select操作,获取单个节点值,删除节点操作,修改节点操作,增加节点操作
- Java+通过XPath获取XML文件中符合特定条件的节点
- Java如何从XML文件中获取节点信息的代码解析 Document方法
- C#中读取xml文件指定节点
- 在Service中新开线程和直接新开线程的区别与意义
- define和const区别
- Linux中awk后接数字1含义
- 记录一下Hive中间和最终结果压缩
- adb shell dumpsys
- Linux中AWK获取xml文件节点值
- Oracle 查询及输出建表语句
- Linux中awk求一列和
- android的样式(style)与主题(theme)
- python 在函数中使用全局变量的注意事项
- Linux中awk去除重复行
- cocos2d-x的一些规范
- 浅谈C中的malloc和free
- Linux中awk统计ip访问次数