perl - 搜索长行并更改其中的单词

perl - 搜索长行并更改其中的单词

一行bash命令:如何搜索一长行并更改其中的一个单词?

 perl -i -0pe 's/my long line/my right line/g' file

这可行,但是我可以有一些更具可读性的东西,例如

perl -i -0pe '\
SEARCH=my long line \
CHANGE=s/long/right/g \
' file

我必须需要使用perl

答案1

perl -i -0pe '\
$match = quotemeta "my long line";\
$find = quotemeta 'long';\
$replace = 'right';\
s/$find/$replace/g if m/$match/;\
' file

正如 sundeep 所说,你可以使用变量。请务必引用正则表达式匹配端的变量

相关内容