2012-02-17 5 views
3

약간의 문제가 있습니다.

파일에서 $ 변수로 문자열 (잘 한 줄)을 대체하려고합니다. PATH_CONF하지 않는 "/"와 같은 특별 문자가 포함되는 경우

sed -i -e "s/conf .*/conf = $PATH_CONF/g" generals.conf 

, 그것은 일하고 :

그래서 나는 명령을 사용합니다. 그래서 난 내 $ 변수에 스페셜 캐릭터를 위해해야 ​​할 방법

bad flag in substitute command: 'h' 

:

그러나 PATH_CONF는 경로 (./홈/등)가 포함되어 있으므로 여러 가지가 "/", 다음 나는 오류가 발생했습니다 ?

감사합니다.

답변

8

시도 :

sed -i -e "[email protected] .*@conf = [email protected]" generals.conf 

당신은 구분 기호로 동일한 문자가 필요 (여기가 @),하지 세/반드시이야.

+0

와우,이 사실을 알지 못했습니다. – AoeAoe

+0

감사합니다. –

관련 문제