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文本进行自我的体验。

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

相关推荐
一勺-_-1 天前
全栈:Maven的作用是什么?本地仓库,私服还有中央仓库的区别?Maven和pom.xml配置文件的关系是什么?
xml·java·maven
阿华的代码王国1 天前
【Android】PopupWindow实现长按菜单
android·xml·java·前端·后端
love静思冥想1 天前
MyBatis XML 配置方式是 返回 Boolean 类型
xml·mybatis
LZQqqqqo1 天前
C# XML 文件
xml·java·c#
antzou3 天前
Apache FOP实践——pdf模板引擎
xml·pdf·办公软件·效率工具·模板引擎·fop·xsl
CrimsonEmber3 天前
ros2的package.xml和rosdep
xml·ros2
看天走路吃雪糕4 天前
墨者:XPath注入漏洞实战
xml·xpath·sql注入·墨者学院
探索java4 天前
深入解析 Spring 获取 XML 验证模式的过程
xml·java·spring
阿华的代码王国4 天前
【Android】卡片式布局 && 滚动容器ScrollView
android·xml·java·前端·后端·卡片布局·滚动容器
柊二三5 天前
XML的简略知识点
xml·数据库·oracle