小编Déb*_*ora的帖子

Shell脚本有条件地删除子xml标签

我有一个包含以下内容的 xml 文件。

<contracts>
    <clients>
        <client>
            <name>Nicol</name>
            <clientRef>123</clientRef>
        </client>
        <client>
            <name>Basil</name>
            <clientRef>8234</clientRef>
        </client>
    </clients>
    <entries>
        <entry>
            <regCode>BCG</regCode>
            <clientRef>63352</clientRef>
        </entry>
        <entry>
            <regCode>TYD</regCode>
            <clientRef>3242</clientRef>
        </entry>
    </entries>
</contracts>  
Run Code Online (Sandbox Code Playgroud)

xml 标签“clientRef”位于客户端和条目部分。但是,我只需要在客户端部分删除 clientRef 标记。

所需的输出是:

<contracts>
    <clients>
        <client>
            <name>Nicol</name>
        </client>
        <client>
            <name>Basil</name>
        </client>
    </clients>
    <entries>
        <entry>
            <regCode>BCG</regCode>
            <clientRef>63352</clientRef>
        </entry>
        <entry>
            <regCode>TYD</regCode>
            <clientRef>3242</clientRef>
        </entry>
    </entries>
</contracts>
Run Code Online (Sandbox Code Playgroud)

我是 shell 和 sed 命令的新手。如何使用 shell 脚本删除 clientRef 标记?

xml sed awk shell-script

3
推荐指数
1
解决办法
333
查看次数

标签 统计

awk ×1

sed ×1

shell-script ×1

xml ×1