[英]replace string with an variable having special chars in it using Perl
I have a file with below content: 我有一个包含以下内容的文件:
$ cat file
my name is PARESH.
Need to replace PARESH
with content of variable `$REPLACE_WORD" using Perl. 需要使用Perl用变量$ REPLACE_WORD的内容替换
PARESH
。
perl -pi -e "s/PARESH/$REPLACE_WORD/g" file
Problem is variable $REPLACE_WORD
has special characters in it. 问题是变量
$REPLACE_WORD
包含特殊字符。
$REPLACE_WORD="c@sc9ey"
Perl interpolates scalars ( $foo
) and arrays ( @bar
) in double quotes ""
. Perl将标量(
$foo
)和数组( @bar
) @bar
双引号""
。 If you use single quotes ''
instead, no interpolation happens. 如果改用单引号
''
,则不会进行插值。
$REPLACE_WORDS = 'c@sc9ey';
Note that hash variabels ( %baz
) are not interpolated. 请注意,哈希内插变量(
%baz
) 不会插值。
使用双引号时,请使用\\
转义特殊字符\\
$REPLACE_WORD = "c\@sc9ey";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.