用sed替换minified css中的图像路径

时间:2013-04-29 22:58:46

标签: css image sed minify

我正在连接所有css文件并将它们缩小并将其放在dist目录中以进行分发。我连接的css文件位于各种供应商文件夹中,并且具有相对于其中的css的图像路径。如何使用sed?

将所有图像路径替换为distributable中的相对图像目录

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);

1 个答案:

答案 0 :(得分:0)

尝试以下方法。适用于所有示例。

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

哪个翻译意味着

q1:&#34; url&#34; -optional spaces - &#34;(&#34; -optional spaces-optional quote

q2:可选空格

q3:除了&#34; /&#34;之外的任何角色; (以避免替换绝对网址)

然后如果所有这些匹配,请用q1替换 - &#34; / DIRECTORY /&#34; -q3