Em sed
, há alguns caracteres com significado especial, que precisam ser citados.
Nesta frase:
['Used', 170], <\!--Ma_P_ST1_vCPU_Used-->
Você precisa citar [
, ]
e \
:
\['Used', 170\], <\\!--Ma_P_ST1_vCPU_Used-->
Em seguida, para capturar o texto em torno do número, adicione parênteses de captura:
\(\['Used', \)170\(\], <\\!--Ma_P_ST1_vCPU_Used-->\)
E converta o 170
em [0-9]*
(uma lista de números).
Feito isso, o comando sed se torna:
sed "s/\(\['Used', \)[0-9]*\(\], <\\!--Ma_P_ST1_vCPU_Used-->\)/77/" <file
Os e
usam as strings capturadas em cada parêntese.