2011-08-30 5 views
1

sed를 사용하여 파일에 IP를 설정하려고합니다. 나는이 명령'이 sed가 잘못된 위치에 나타나는 것

sed -i 's:$dbserver='':$dbserver='10.0.0.2':' t.conf

을 실행하지만 라인 t.conf에서 볼 때 두 개의 작은 따옴표가 줄의 끝에 나타나는 이유

$dbserver=10.0.0.2''

누구나 알고 있습니다 무엇입니까?

나는 당신이 따옴표로 두 번째 sed 인수를 묶어야합니다 데비안 리눅스

+0

''s : $ dbserver = '': $ dbserver = '10 .0.0.2 ': "'대신 –

+0

나는 $도 빠져 나가야했다. – Mlove

답변

3

를 실행하고 있습니다 :

sed -i "s:$dbserver='':$dbserver='10.0.0.2':" t.conf 

$dbserversed에 전달되기 전에 그 값으로 대체됩니다 이런 식으로, 그리고 하나 따옴표는 이스케이프가 필요하지 않습니다.

$dbserver을 conf 파일에 그대로 나타내려면 백 슬래시로 달러 기호 앞에 붙이십시오.

+0

감사합니다. 이것은 효과가 있었고 거기에 $ dbserver를 남겨 둘 필요가있었습니다. 솔루션이 매우 간단 할 때 나는 그것을 좋아합니다! :-) – Mlove

관련 문제