0

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

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

1 回答 1

0

试试下面的。适用于您的所有示例。

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

哪个翻译的意思

q1: "url"-可选空格-"("-可选空格-可选引号

q2:可选空格

q3:除“/”之外的任何字符(避免替换绝对网址)

然后如果所有这些都匹配,则替换为 q1-"/DIRECTORY/"-q3

于 2013-05-02T15:54:30.110 回答