Sed - неизвестный параметр `s '
Я пытаюсь использовать
sed -i -e "s/.*seb.*/ \"$ftp_login_template\"/" $ftp_dir
однако я получаю эту ошибку:
sed: -e expression #1, char 34: unknown option to `s'
Я не понимаю, почему, поскольку это отлично работает:
sed -i -e "s/.*wbspassword.*/ \"wbspassword\": \"$password\",/" $user_conf
Любые идеи относительно того, что я делаю неправильно?
Может ли это быть проблемой? ftp_login_template=\${user}:${password}:24:86::\/var\/lib\/clit.${user}\/downloads:\/bin\/false\"
Ответы
Ответ 1
Проблема со слэшами: ваша переменная содержит их, а заключительная команда будет похожа на sed 's/string/path/to/something/g'
, содержащую слишком много слэшей.
Так как sed
может принимать любой char как разделитель, вы можете попробовать использовать другой вместо /
:
sed -e '[email protected]@[email protected]'