0

我似乎根本无法理解正则表达式。如何匹配位于 START 和 END 字符串之间的字符。例如

#START-编辑

#值A=0

#值B=1

#END-编辑

我想匹配#START-EDIT 和#END-EDIT 之间的任何#。

具体来说,我想使用 sed 在可能具有或不具有多个 START-EDIT 和 END-EDIT 部分的各种文件上用任何内容替换匹配 # 值(删除它们)。

4

2 回答 2

1
^#START-EDIT.*(#) *. *#END-EDIT$
于 2009-06-22T14:19:38.583 回答
1

sed 是基于行的。您可以轻松地在一行中根据正则表达式进行搜索、替换。但是没有真正简单的方法来搜索/替换多行。AWK 可能会成功。

如果您在一行上有正则表达式,则以下命令可能是您正在寻找的

sed -e "/^#START-EDIT.*#END-EDIT$//" myInput.txt
于 2009-06-22T14:29:39.233 回答