匹配Start string和End string之间的单个字符

时间:2009-06-22 14:06:37

标签: regex sed

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

#START-EDIT

#值a = 0

#VALUEB = 1

#END-EDIT

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

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

2 个答案:

答案 0 :(得分:1)

^#START-EDIT.*(#) *. *#END-EDIT$

答案 1 :(得分:1)

sed是基于行的。您可以在一行中轻松搜索,替换基于正则表达式。但是在多线上搜索/替换没有非常简单的方法。 AWK可能会做到这一点。

如果您在一行上使用正则表达式,则可以使用以下命令

sed -e "/^#START-EDIT.*#END-EDIT$//" myInput.txt