sed 's/$downtime_hosts = 8;/$downtime_hosts = 15;/' file.php
O $
não representa problema, pois não atuará como uma âncora, a menos que seja encontrado no final do padrão. O script sed
precisa estar entre aspas simples, embora o shell tente expandir o $downtime_hosts
como uma variável shell.
Para corresponder apenas ao padrão no começo de uma linha:
sed 's/^$downtime_hosts = 8;/$downtime_hosts = 15;/' file.php
Se o inteiro 8 puder ser qualquer inteiro:
sed 's/^$downtime_hosts = [0-9]*;/$downtime_hosts = 15;/' file.php
Para substituir o inteiro por um inteiro mantido por uma variável do shell $newint
:
sed "s/^\$downtime_hosts = [0-9]*;/\$downtime_hosts = $newint;/" file.php
Observe que agora precisamos usar aspas duplas ao redor do script de edição sed
do shell para expandir a variável $newint
. Isso também significa que somos forçados a escapar dos dois $
existentes do shell.