我正在连接所有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);
答案 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