2013-06-10 2 views
1

문자열에 특수 문자 "&"이 있는데 어떻게 sed를 사용할 수 있습니까? 기호 앞에 & 기호 앞에 공백이 있습니다. 당신이 따옴표 '를 사용하는 경우문자열 내 특수 문자로 sed 사용

word="Word" 
str="Word: One \\& Three" 
echo "$str" | sed -e 's/'$word'.*/'$str'/g' 
+2

''$ word ''대신''$ word ''를 사용하고'$ str'..and와 동일하게''sed'' 명령 전체를 묶어야한다고 생각합니다. . " – Bill

답변

2

, 쉘은 문자 그대로 처리됩니다으로 변수를 확장 할 수 없습니다.

당신은 수행하여 변수를 보간 할 수

- 따옴표 :

당신의 변수를 확장하여 공백을 유지합니다 따옴표를 " 쉘을 사용.

sed -e "s/$word.*/$str/g" 

- 작은 따옴표 :

특수 문자의 많은 경우는, 패턴 및 따옴표 변수에 대한 작은 따옴표를 사용합니다.

sed -e 's/'"$word"'.*/'"$str"'/g'