linux - insertar - sed manual
sed: opciĆ³n desconocida para `s '' (1)
El problema es con barras diagonales: tu variable las contiene y el comando final será algo así como sed "s/string/path/to/something/g"
, que contiene demasiadas barras inclinadas.
Como sed
puede tomar cualquier carácter como delimitador, puede intentar usar otro que no aparezca en su cadena de reemplazo:
replacement="/my/path"
sed -e "s@pattern@$replacement@"
Tenga en cuenta que esto no es a prueba de balas: si la cadena de reemplazo contiene más tarde @
, se romperá por la misma razón, y cualquier secuencia de barra invertida como /1
se interpretará de acuerdo con las reglas de sed.
Estoy tratando de usar
sed -i -e "s/.*seb.*/ /"$ftp_login_template/"/" $ftp_dir
sin embargo, recibo este error:
sed: -e expression #1, char 34: unknown option to `s''
No entiendo por qué ya que esto funciona perfectamente:
sed -i -e "s/.*wbspassword.*/ /"wbspassword/": /"$password/",/" $user_conf
¿Alguna idea de lo que estoy haciendo mal?
¿Podría ser este el problema? ftp_login_template=/${user}:${password}:24:86:://var//lib//clit.${user}//downloads://bin//false/"