代码之家  ›  专栏  ›  技术社区  ›  sanath meti

如何用一些值替换空双引号

sed
  •  -1
  • sanath meti  · 技术社区  · 7 年前

    我有一个xml,语法如下

    <test key="NAME1" value="">
    <test key="NAME2" value="">
    

    如何使用sed命令,使用基于键名的值替换空字符串值。像这样的事情

    <test key="NAME1" value="123">
    <test key="NAME2" value="234">
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   choroba    7 年前

    使用支持XML的工具来处理XML, sed 对这项工作来说太简单了。

    例如,在 xsh ,您可以写:

    my $values = {
        NAME1 => 123,
        NAME2 => 234,
    };
    
    open file.xml ;
    for my $test in //test[@value=""] {
        my $key = $test/@key ;
        set $test/@value { $values->{$key} } ;
    }
    save :b ;
    
    推荐文章