Você pode usar qualquer caractere como um delimitador de comando s
, por exemplo,
sed -i -e "s|$answer|$FORME $answer|g" ~$answer.txt
Eu comecei a usar sed para substituir texto em arquivos, para facilitar a alteração em massa do conteúdo dos arquivos, e eu tenho cada valor que precisa ser definido como uma variável com BASH e a substituição como uma função que chama todos as variáveis para substituir o texto existente. Exemplo ~
sed -i -e "s/$answer/$FORME $answer/g" ~$answer.txt
$ answer é a variável input com o comando no terminal. $ FORME é uma variável que é definida dependendo da entrada de $ answer, no entanto $ FORME contém "/" e eu tenho navegado online e não consigo encontrar uma maneira de substituir usando variáveis que contenham caracteres especiais. Quando eu tento usar o comando no $ answer que cria $ FORME com um caractere especial, exibe este erro:
sed: -e expression #1, char 15: unknown option to 's'
Suponho que isso signifique que o caractere especial em $ FORME está registrado como parte do comando real, não como uma string a ser substituída. Por favor ajude!
Obrigado antecipadamente!
Você pode usar qualquer caractere como um delimitador de comando s
, por exemplo,
sed -i -e "s|$answer|$FORME $answer|g" ~$answer.txt