一行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 所说,你可以使用变量。请务必引用正则表达式匹配端的变量