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: 「/」以外の任意の文字 (絶対 URL の置き換えを避けるため)

次に、それらがすべて一致する場合は、q1-"/DIRECTORY/"-q3 に置き換えます

于 2013-05-02T15:54:30.110 に答える