我有一个xml,语法如下
<test key="NAME1" value=""> <test key="NAME2" value="">
如何使用sed命令,使用基于键名的值替换空字符串值。像这样的事情
<test key="NAME1" value="123"> <test key="NAME2" value="234">
使用支持XML的工具来处理XML, sed 对这项工作来说太简单了。
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 ;