shell解决xml文本中筛选的问题

shell解决xml文本中筛选的问题,将xml文件中多余的配置删除掉,达到符合单一配置的结果。

过于简单就不废话了。

复制代码
#!/bin/bash

conf_file=$1
flag=0
temp_file="__temp.xml"

if [ -f "${temp_file}" ];then
    rm "${temp_file}"
fi
while read line
do
    echo "${line}" | grep '<connection' > /dev/null
    if [ $? = 0 ];then
        flag=1
        echo "${line}"
        echo "${line}" >> "${temp_file}"
        continue
    fi
    echo "${line}" | grep '</connection' > /dev/null
    if [ $? = 0 ];then
        flag=0
        echo "${line}"
        echo "${line}" >> "${temp_file}"
        continue
    fi
    echo "${line}" | grep '<server' > /dev/null
    if [ $? = 0 -a ${flag} = 1 ];then
        flag=2
        echo "${line}"
        echo "${line}" >> "${temp_file}"
        continue
    elif [ $? = 0 -a ${flag} = 2 ];then
        continue
    fi
    if [ ${flag} = 0 ];then
        echo ${line} >> "${temp_file}"
    fi
done < ${conf_file}

然而在其他的解决方式中,也可以通过awk脚本直接将结果进行统一的处理

比如:

复制代码
awk '!/<server ip=/{print;c=0}   /<server ip=/ && ++c==1{print}' xxx.xml > __temp.xml

可以自己找一个xml文本进行自我的体验。

真正的结果一定要自己体验,否则就没有意义。

相关推荐
萝卜白菜。10 小时前
关于Java EE应用中xml解析类的问题
xml·java·java-ee
ejinxian2 天前
protobuf 、JSON、XML传输格式
xml·json·protobuf
yue0082 天前
C# XML文件的读写V2.0
xml·开发语言·c#
emma羊羊4 天前
【weblogic】XML反序列化漏洞
xml·安全
研來如此5 天前
XML与HTML
xml·html
一个W牛5 天前
报文比对工具(xml和sop)
xml·前端·javascript
Java&Develop6 天前
使用 JDOM 库生成 XML 文件并返回 File
xml
关关长语6 天前
Dotnet使用System.Xml.Serialization处理Xml序列化
xml·c#·.net
Dolphin_Home6 天前
轻量实用的 XML 与 JSON / 对象互转工具类(Jackson 实现)
xml·java·json
huluang7 天前
XML文档差异分析工具:深入解析Word XML结构变化
xml·word