【发布时间】:2015-11-18 10:21:43
【问题描述】:
如何替换以下字符串:
<value>-myValue</value>
<value>1234</value>
让它成为:
<value>-myValue</value>
<value>0</value>
请注意有换行符。
【问题讨论】:
-
您想知道一般的字符串替换还是replacement across multiple lines?
-
是 1234 还是仅仅代表一个数字字符串?替换总是为零吗?你试过什么?
-
关于多行替换。我试过 sed '/
-myValue.*/ {N; s/-myValue.* \./-myValue.*value>0}' 文件名 -
如果这确实是 XML,sed 不是处理它的好工具。考虑使用 xmlstarlet,例如
xmlstarlet ed -u '//value[.="-myValue"]/following-sibling::value[1]' -v 0 filename.xml