I would like
pm.max_children = 5
to become;
pm.max_children = 8
and have been working on it and got no soludtions. Backreferences like \1 or \2 don't seem to be working with calculation.
sed -i -E "s/(pm.max_children)[^=]*=\s*(.+)/\1 = $(echo \2+3)/" /usr/local/etc/php-fpm.d/www.conf
Using perl commands are OK as well as long as it is solved.
Thank you.
perl -i.bak -wpe's/pm.max_children\s*=\s*\K([0-9]+)/$1 + 3/e' file
This keeps a backup due to .bak; remove that (after testing) if you don't need a backup.
The \K positive lookbehind drops all previous matches so that they are no longer included in the overall match $&, and thus whatever has been matched before it is kept in the string and doesn't have to be restored in the replacement part.
Using sed
$ sed 's/\(.* \)\(.*\)/echo \1 \$((\2+3))/e' /usr/local/etc/php-fpm.d/www.conf
pm.max_children = 8
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With