我使用perl one liner进行搜索替换。我想用';

我使用perl one liner进行搜索替换。我想用';,perl,Perl,我想用'替换字符串,但它不起作用 perl -p -i -e 's/assume/assume 3\';/g' abcd 它给出错误:Unmatched'如果您想避免shell逃出地狱,您可以使用\x27而不是' perl -p -i -e 's/assume/assume 3\x27;/g' 如果您想避免shell逃出地狱,可以使用\x27而不是” perl -p -i -e 's/assume/assume 3\x27;/g' 在bash命令行中,应使用'\''或'''''转义单引号

我想用'替换字符串,但它不起作用

perl -p -i -e 's/assume/assume 3\';/g' abcd 

它给出错误:
Unmatched'

如果您想避免shell逃出地狱,您可以使用
\x27
而不是
'

perl -p -i -e 's/assume/assume 3\x27;/g'

如果您想避免shell逃出地狱,可以使用
\x27
而不是

perl -p -i -e 's/assume/assume 3\x27;/g'

在bash命令行中,应使用
'\''
'''''
转义单引号。例如,
echo'A'\'B'
echo'A''''B'
都给出了输出
A'B
,换句话说,在bash中,不能在单引号内转义单引号;您需要关闭单引号,然后添加单引号,然后再次启动单引号。在bash命令行中,您应该使用
\''
''''
转义单引号。例如,
echo'A'\'B'
echo'A''''B'
都给出了输出
A'B
,换句话说,在bash中,不能在单引号内转义单引号;您需要关闭单引号,然后添加单引号,然后再次启动单引号。