使用perl替换指定行号上的模式

时间:2014-08-13 21:32:48

标签: perl sed

我正在尝试使用perl非常方便的非贪婪搜索模式,但我没有运气获得perl来搜索和替换指定的行,例如:

perl -pi -e '10,19s/pat1/pat2/g' file

我经常使用sed。有没有办法使用perl实现这一目标?我是一个果酱,在那里,非贪婪的人不能做我所需要的但只有perl的遗嘱。

1 个答案:

答案 0 :(得分:3)

使用$.变量来匹配行号。

如果您想在这两个行号(包括两者)之间替换该模式,您可以使用Range operator ..,如下所示:

perl -i -pe 's/pat1/pat2/g if 10 .. 19' file