2013-04-29 4 views
0

나는 모든 CSS 파일을 연결하고이를 압축하여 배포 용 dist 디렉토리에 넣습니다. 연결하고있는 CSS 파일은 다양한 공급 업체 폴더에 있으며 이미지 경로는 해당 CSS와 관련되어 있습니다. 모든 이미지 경로를 sed를 사용하여 배포판의 상대 이미지 디렉토리로 대체하려면 어떻게해야합니까?sed로 축소 된 CSS의 이미지 경로 바꾸기

는 CSS의 이미지에 대한 몇 가지 가능한 경로 ...

background-image: url('test/test1/test.png'); 
background: url("test2/test2.png"); 
background-image: url(test3/test3.png); 
background: url (test4/test4.png); 
background: url(" test5/test5.gif"); 
background: url(test.png); 
+0

sed "s url \ (. * ?. png \) | url (\ 1) | g"style.css를 시도했지만 그 과정은 효과가 없습니다. –

+0

샘플 입력 또는 예상 출력 또는 다른 것을 게시 했습니까? 질문을 업데이트하여 대표 샘플 입력과 해당 입력의 예상 출력을 명확하게 표시하십시오. –

답변

0

하면 다음을 시도하십시오. 귀하의 모든 예를 위해 작동합니다. 수단을 번역

sed "s#\(url\s*(\s*['\"]\?\)\s*\([^/]\)#\1/DIRECTORY/\2#" <in.css >out.css 

Q1 : "URL"- 옵션 공간 - "("- 옵션 공간 - 선택 인용

Q2 : 옵션 공간

Q3 : 떨어져 모든 문자에서 "/"(절대 URL 대체를 피하기 위해)

그런 다음 일치하는 경우 q1 - "/ DIRECTORY /"로 교체하십시오. - q3