URL テキストを修正する必要がある HTML テキストがあります。する必要がある:
1) URL 内のテキストも小文字に変換します 2) URL 内のスペースをハイフンに変換します 3) URL から括弧を削除します
各ファイル内でこのパターンが複数発生しています。
<div class="classname"><a href="/URL"><img src="${asset.image/url}" alt="TEXT" class="another-class-name" ></a></div>
例:
このパターンを変更したい:<div class="classname"><a href="/URL-EXAMPLE-ONE"><img src="${asset.image/url}" alt="TEXT" class="another-class-name" ></a></div>
に:<div class="classname"><a href="/url-example-one)"><img src="${asset.image/url}" alt="TEXT" class="another-class-name" ></a></div>
多数のファイルがあり、ファイル内置換を実行したいと考えています。/URL-EXAMPLE-ONE
スペース、括弧の任意の組み合わせも使用できます。
以前の提案から、次の SED スクリプトを使用しています。
/sw/bin/sed -e '/<div class="mk-man-logo-mod5-m"><a href="\/[A-Z -{}&]*"></ {
h;
s/.*<div class="mk-man-logo-mod5-m"><a href="\/\(.*\)"><img.*/\1/;
s/\(.*\)/\L\1/;
s/[ &]/-/g;
s/[()]//g;
s/<img.*//;
x;
s/\(.*<div class="mk-man-logo-mod5-m"><a href="\/\)\(.*\)\(<img.*\)/\1\3/;
G;
s/\n//;
}' $e
しかし、私が得ている出力は、例として次のとおりです。
原文:
<div class="classname"><a href="/ABC (D&E)"><img src="${asset.images/common/manufacturer_logos/medium/abb-m.gif}" alt="TEXT" class="another-classname" ></a></div>
変換されたテキスト:
<div class="classname"><a href="/<img src="${asset.images/url}" alt="TEXT" class="another-classname" abc-d-ediv>
実際に欲しい:
<div class="classname"><a href="/abc-d-e"><img src="${asset.images/url}" alt="TEXT" class="another-classname"></a></div>
誰かがさらに助けてくれますか? 私はこれに何時間も費やしてきました。私は SED の専門家ではありませんが、ここに近づいていると思いますが、何かが欠けています。
よろしくお願いします、アレックス