【发布时间】:2018-03-21 15:54:58
【问题描述】:
假设以下代码sn-p:
<head>
<script>....</script>
<script>....</script>
</head>
<body>
<script>
some stuff
a change
more stuff
more changes
more stuff
}
}
}
}
final changes
</script>
</body>
我需要在最后一个</script> 之前添加一些内容,即final changes。我怎样才能告诉 sed 匹配那个? final changes 不存在,脚本的最后几行就像四五行},所以会是这样的场景,我需要匹配多行。
所有其他更改都通过匹配行替换,然后替换为line + the changes。但是我不知道如何匹配多行以将</script></body>替换为final changes </script></body>。
我尝试使用与替换多行相同的策略,但没有奏效,继续报告unterminated substitute pattern。
sed 's|</script>\
</body>|lalalalala\
</script>\
</body>|' file.hmtl
我已经阅读了这个问题Sed regexp multiline - replace HTML,但它不适合我的特殊情况,因为它匹配搜索选项之间的所有内容。我需要匹配一些东西,然后在第一个搜索运算符之前添加一些东西。
【问题讨论】:
标签: sed