Como seu padrão contém /
, você terá que informar sed
para usar outro delimitador na expressão /$to_be/
range. Aqui, estou usando @
como o delimitador:
sed -i "\@$to_be@c\ \t\t$with_be" /var/lib/jenkins/users/admin/config.xml
Observe também a barra invertida após o comando c
.
Um delimitador alternativo pode ser usado em uma expressão de intervalo se for escapado como mostrei acima. Quase qualquer caractere pode ser usado, exceto \
e nova linha. Você deve escolher um que não ocorra no valor de $to_be
.
O comando c
("change") tem o formato
range c\
text
O GNU sed
é indulgente porque permite que o texto de substituição ocorra na mesma linha do comando em si, ou seja, ele permite range c\ text
.