我想将 apache 配置文件的 MinSpareThreads 指令值从 75 替换为 125。
我写了如下所示的perl单行代码。
perl -pi.$(date +%Y%m%d) -e 's;MinSpareThreads(s+)(d+);MinSpareThreads$1125;g' httpd-mpm.conf
但是,它输出的结果低于结果。
root@8c659a9d5907:/usr/local/apache2/conf/extra# diff httpd-mpm.conf.20180130 httpd-mpm.conf
46c46
< MinSpareThreads 75
---
> MinSpareThreads
63c63
< MinSpareThreads 75
---
> MinSpareThreads
83c83
< MinSpareThreads 25
---
> MinSpareThreads
97c97
< MinSpareThreads 5
---
> MinSpareThreads
似乎 1 美元无意中被识别为 1125 美元。$1125 不存在。所以上面显示了结果。
你知道有什么方法可以避免上述错误的解释吗?
为了在名称
与周围文本无法区分的上下文中使用 Perl 变量,您可以将名称(不包括符号(放在 { ... }
中。所以,与其有$1125
,不如说你会${1}125
.