我正在尝试使用perl非常方便的非贪婪搜索模式,但我没有运气获得perl来搜索和替换指定的行,例如:
perl -pi -e '10,19s/pat1/pat2/g' file
我经常使用sed。有没有办法使用perl实现这一目标?我是一个果酱,在那里,非贪婪的人不能做我所需要的但只有perl的遗嘱。
答案 0 :(得分:3)
使用$.
变量来匹配行号。
如果您想在这两个行号(包括两者)之间替换该模式,您可以使用Range operator ..
,如下所示:
perl -i -pe 's/pat1/pat2/g if 10 .. 19' file