2011-12-17 2 views
3

old-link-url을 new-link-url로 대체하는 bash에서 스크립트를 작성하고 있습니다. 내 문제는 sed가 슬래시 때문에 url. 만약 내가 몇 가지 텍스트를 넣어 작동합니다. 당신은 대체하려고하는 패턴이 /이 포함 된 경우, 다른 구분 기호를 사용할 수 있도록old-link-url을 sed와 new-link-url로 대체하십시오.

sed -e s/"$old_link"/"$new_link"/g wget2.html > playlist.txt 

답변

11

sed

내 코드는 구분자로 어떤 문자를 지원합니다. 가장 일반적으로 당신이 sed 대체에 variables를 사용하는 경우 double quotes을 넣어하는 것을 잊지 마세요

sed 's|foo|bar|g' input 
sed 's#foo#bar#g' input 
+0

감사합니다! # –

1

#|이다 사용. 또한 변수에 /이 있으면 sed에 다른 구분 기호를 사용하십시오. _, %, |, # 및 그 이상을 사용할 수 있습니다.

그래서 이런 식으로 뭔가가 작동 할 수 있습니다 -

sed -e "s_"$old_link"_"$new_link"_g" wget2.html > playlist.txt 
+0

으로 작업했습니다. '더 많은 것'이라고 말하면 원하는 문자를 의미합니까, 아니면 허용되는 구분 기호 문자 목록이 있습니까? – sergserg

관련 문제