sed falha com erro “opção desconhecida para` s ‘”

Estou tentando usar

sed -i -e "s/.*seb.*/ \"$ftp_login_template\"/" $ftp_dir 

no entanto eu recebo este erro:

 sed: -e expression #1, char 34: unknown option to `s' 

Eu não entendo porque isso funciona perfeitamente:

 sed -i -e "s/.*wbspassword.*/ \"wbspassword\": \"$password\",/" $user_conf 

Alguma idéia do que estou fazendo errado?

Este poderia ser o problema? ftp_login_template=\${user}:${password}:24:86::\/var\/lib\/clit.${user}\/downloads:\/bin\/false\"

O problema é com barras: sua variável as contém e o comando final será algo como sed "s/string/path/to/something/g" , contendo muitas barras.

Como o sed pode pegar qualquer char como delimitador, você pode tentar usar outro que não apareça na string de substituição:

 replacement="/my/path" sed -e "s@pattern@$replacement@" 

Note que isto não é à prova de balas: se a sequência de substituição contiver mais tarde @ , a quebra será pela mesma razão, e quaisquer seqüências de barra invertida como \1 ainda serão interpretadas de acordo com as regras de sed.