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

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

相关推荐
Toky丶21 小时前
Microsoft Word xml 字符非法解决
xml·word
鹏码纵横1 天前
如何解决 javax.xml.crypto.dsig.TransformException: 转换异常问题?亲测有效的解决方法!
xml
小禾家的3 天前
FastReport 加载Load(Stream) 模板内包含换行符不能展示
xml·开发语言
千千寰宇3 天前
[车联网/计算机网络] Autosar 的 `ARXML` 配置数据库文件协议
xml·计算机网络·智能网联汽车-can总线协议·汽车/新能源汽车/智能网联汽车
shangaoo6 天前
XML DOM 节点信息
xml·java·前端
码农幻想梦11 天前
实验四 XML
xml
dilvx13 天前
二进制安卓清单 binary AndroidManifest - XCTF apk 逆向-2
android·xml
菜鸟阿康学习编程18 天前
JavaWeb 学习笔记 XML 和 Json 篇 | 020
xml·java·前端
索然无味io18 天前
XML外部实体注入--漏洞利用
xml·前端·笔记·学习·web安全·网络安全·php