0
我有一个文件,它看起来像这样替换为一个XML文件的内容sed的
<variable name="VOS_BRANCH">
<name>VOS_BRANCH</name>
<type>string</type>
<value>cer_mainline</value>
</variable>
<variable name="VOS_BRANCH_LABEL">
<name>VOS_BRANCH_LABEL</name>
<type>string</type>
<value>CER_FREEZE_12_0_0_98000_6_CCT</value>
</variable>
所以现在在这里,我想替换值CER_FREEZE_12_0_0_98000_6_CCT和cer_mainline给我传递的其他值参数给脚本。
我现在正在做的是
xml ed -u "/ENV_VARIABLES/variable[@name='VOS_BRANCH']/value" -v $new_branch_name $file > $file1
mv $file1 $file
xml ed -u "/ENV_VARIABLES/variable[@name='VOS_BRANCH_LABEL']/value" -v $new_branch_label $file > $file1
mv $file1 $file
但现在的要求是用sed来做这个操作。 ,我不知道如何使用SED这里
为什么你想用'sed'改变最好的方式来“不那么有效”的方式? – Inian
如果存在' cer_mainline '和' CER_FREEZE_12_0_0_98000_6_CCT '的不止一个实例,则'sed'不是有效的方法。任何'xml'感知工具将是理想的工具。 –
Inian
对于上述需求,Sed将非常脆弱(匹配支架,匹配标签)。支持Xml的工具比较好。如果你想跳过xml-aware工具,下一个更好的选择是perl。 – blackpen