htmlフレームソースを使用して、多数の画像の自動ダウンロードを行っています。So fra、so good、Sed、wget。フレームソースの例:
<td width="25%" align="center" valign="top"><a href="images/display.htm?concept_Core.jpg"><img border="1" src="t_core.gif" width="120" height="90"><font size="1" face="Verdana"><br>Hyperspace Core<br>(Rob Cunningham)</font></a></td>
だから私はこれを行います:
sed -n -e 's/^.*htm?\(.*jpg\).*$/\1/p' concept.htm
このような部分を取得するには:
concept_Core.jpg
次にこれを行うには:
wget --base = / some / url / concept_Core.jpg
しかし、厄介な線が1つあります。その行は、明らかに、サイトのバグ、またはそれが何であれ、それが間違っているので、変更することはできません。;)
<td width="25%" bla bla face="Verdana"><a href="images/display.htm?concept_frigate16.jpg" target="_top"><img bla bla href="images/concept_frigate16.jpg" target="_top"><br>Frigate 16<br>
つまり、これらの「concept_Frigate16.jpg」のうちの2つが1行に並んでいます。そして私のスクリプトは私に与えます
concept_frigate16.jpg" target="_top"><img border="1" src="t_assaultfrigate.gif" width="120" height="90" alt="The '16' in the name may be a Sierra typo."></a><a href="images/concept_frigate16.jpg
あなたはその理由を理解しています。Sedは貪欲で、この場合は明らかにこれが現れます。
さて、問題は、どうすればこのコーナーケースを取り除くことができるかということです。つまり、貪欲ではなく、最初の.jpgで停止しますか?強調されたテキスト