提问人:tanuj singla 提问时间:6/29/2023 最后编辑:Håkon Hæglandtanuj singla 更新时间:6/29/2023 访问量:38
如何使用 perl 命令替换具有 { 特殊字符的字符
How to replace a character having { special character using a perl command
问:
我正在使用下面的perl命令&,但是该值没有填充到我的html文件中。
使用的命令:
perl -l -p -i -e "s/BER_IMC_SRE_{10}/$BER_IMC_SRE_10/g" $tmpfile501
perl -l -p -i -e "s/BER_IMC_DB_Lat_SRE_{10}/$BER_IMC_DB_Lat_SRE_10/g" $tmpfile501
执行日志:
perl -l -p -i -e 's/BER_IMC_SRE_{10}/10228/g' /data/scripts/reports/20230629125556374622858//24949_rep.html
perl -l -p -i -e 's/BER_IMC_DB_Lat_SRE_{10}/9/g' /data/scripts/reports/20230629125556374622858//24949_rep.html
HTML O/P:
我想将变量 BER_IMC_DB_Lat_SRE_{10} 替换为值 9,如执行日志中所示。
perl -l -p -i -e 's/BER_IMC_SRE_{10}/10228/g' /data/scripts/reports/20230629125556374622858//24949_rep.html
perl -l -p -i -e 's/BER_IMC_DB_Lat_SRE_{10}/9/g' /data/scripts/reports/20230629125556374622858//24949_rep.html
答:
1赞
choroba
6/29/2023
#1
大括号在正则表达式中很特殊。逃避他们:
perl -l -p -i -e "s/BER_IMC_SRE_\{10\}/$BER_IMC_SRE_10/g"
你也可以使用 让 quotemeta 为你转义一切:\Q
perl -l -p -i -e "s/\QBER_IMC_SRE_{10}/$BER_IMC_SRE_10/g"
请注意,如果替换包含 .最好使用 Perl 变量而不是 shell 变量。/
r=$BER_IMC_SRE_10 perl -l -p -i -e 's/\QBER_IMC_SRE_{10}/$ENV{r}/g'
评论
{
}
$
BER