URL を新しいドメインに置き換える次の CSSbackground-image
ルールがあります (Cookie のないドメイン経由で画像を読み込むため)。
background-image : url(/image/test.png);
background-image : url("/image/test.png");
background-image : url('/image/test.png');
前に引用符をキャッチして、URL を次の式/image
に正しく置き換えることができます。sed
local someVar=123
local replace='url\("\/\/img.mydomain.com\/'"$someVar"'\1\")'
sed -E 's,url\(.(.+).\),'"$replace"',g' file.css
スニペット
url\(.
URL 文字列の引用符 (一重または二重) を処理します。しかし、引用符が存在しない場合 (上記の最初の例)、正規表現は明らかに失敗します。これを確認するための正しい正規表現は何でしょうか?
次のことを試しましたが、うまくいきません。
local someVar=123
local replace='url\("\/\/img.mydomain.com\/'"$someVar"'\1\")'
sed -E 's,url\((\'|\")(.+)(\'|\")\),'"$replace"',g' file.css
エラーがスローされるだけです:syntax error near unexpected token `)'