我有一个类似下面这样的文件
<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___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
发布于 2016-09-22 14:44:57
试试这个:
sed "
/<variable name=\"VOS_BRANCH\">/,/<\/variable>/ s@<value>.*</value>@<value>$new_branch_name</value>@;
/<variable name=\"VOS_BRANCH_LABEL\">/,/<\/variable>/ s@<value>.*</value>@<value>$new_branch_label</value>@
" "$file"它会将新内容写入终端。如果您感到满意,可以像以前一样添加> "$file1",也可以将-i选项添加到sed中以就地编辑文件。
https://stackoverflow.com/questions/39631834
复制相似问题