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

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

相关推荐
3D小将5 小时前
从产品展示到工程设计:3DXML 转 STP 的跨流程数据转换技术解析
xml·3d
LYPHARD MELODY。1 天前
将 JSON 批量转换为 XML:深度解析与完整实现指南
xml·json
diving deep2 天前
XML简要介绍
xml·java·后端
JosieBook2 天前
【VS】VS2019中使用rdlc报表,生成之前修改XML
xml
AI+程序员在路上3 天前
XML介绍及常用c及c++库
xml·c语言·c++
炯哈哈3 天前
【上位机——WPF】App.xml和Application类简介
xml·开发语言·c#·wpf·上位机
xrkhy3 天前
java中XML的使用
xml·java·开发语言
huang_hai_an3 天前
jackson-dataformat-xml引入使用后,响应体全是xml
xml
张扬飞舞3 天前
IntelliJ IDEA打开项目后,目录和文件都不显示,只显示pom.xml,怎样可以再显示出来?
xml·java·intellij-idea
search74 天前
配置文件介绍xml、json
xml·json