如果存在某个字符串,我需要在行的开头添加<!--
,并在xml文件中的每一行的行末尾添加-->
。所以,例如,如果BlueCard
是我要匹配的字符串,文件当前是这样的:
RedCard
BlueCard
GreenCard
我希望新文件看起来像:
RedCard
<!--BlueCard-->
GreenCard
如何做到这一点?
答案 0 :(得分:4)
使用sed:
sed 's/.*BlueCard.*/<!--&-->/' file
答案 1 :(得分:0)
您也可以匹配模式,然后对所有匹配的行应用替换(s
)。
sed '/BlueCard/ s/.*/<!--&-->/' test
&
在此处选择与.*
答案 2 :(得分:0)
尝试awk一次。
awk '/BlueCard/{print "<!--" $0 "-->";next} 1' Input_file
因此,如果它找到字符串BlueCard然后在该行中查找该行,那么使用next将不会跳过所有进一步的语句。使用1将打印除BlueCard之外的所有内容,因为它已经被条件本身所照顾。
解决方案第二:在这里使用awk的子实用程序。
awk '{sub(/BlueCard/,"<!--&-->")} 1' Input_file
在这里简单地用字符串BlueCard替换注释并打印所有内容。