IT박스

sed가“알 수없는`s '옵션”오류와 함께 실패

itboxs 2020. 6. 27. 11:47
반응형

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\"


문제는 슬래시입니다. 변수에 변수가 포함되어 있으며 최종 명령은 sed "s/string/path/to/something/g"슬래시가 너무 많이 포함되어 있습니다.

sed문자를 구분 기호로 사용할 수 있으므로 대체 문자열에 표시되지 않는 다른 문자를 사용해보십시오.

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

이것은 대체 증거가 아닙니다. 나중에 대체 문자열에 포함 된 @경우 동일한 이유로 중단되고 같은 백 슬래시 시퀀스 \1는 여전히 sed 규칙에 따라 해석됩니다.

참고 URL : https://stackoverflow.com/questions/9366816/sed-fails-with-unknown-option-to-s-error

반응형