У меня есть HTML-страница со следующим содержанием:
[...]
<tr><td class="n"><a href="play-1.0.1.zip">play-1.0.1.zip</a></td></tr>
<tr><td class="n"><a href="play-1.0.2.1.zip">play-1.0.2.1.zip</a></td></tr>
<tr><td class="n"><a href="play-1.0.2.zip">play-1.0.2.zip</a></td></tr>
[...]
И я бы хотел извлечь только
play-1.0.1.zip
play-1.0.2.1.zip
play-1.0.2.zip
, чтобы затем найти последнюю версию (в этом случае это будет play-1.0.2.1.zip)
Итак, я попробовал с
cat tmp.html | grep "<a href=\".*\""
<a href="play-1.0.1.zip">play-1.0.1.zip</a></td><td class="m"
<a href="play-1.0.2.1.zip">play-1.0.2.1.zip</a></td><td class="m"
<a href="play-1.0.2.zip">play-1.0.2.zip</a></td><td class="m"
Итак, я попробовал с ленивым:
cat tmp.html | grep "<a href=\".*?\""
и отрицание кавычек
cat tmp.html | grep "<a href=\"[^\"]*?\""
они оба ничего не возвращают
Мне нужно получить только подходящую часть (не href), а затем найти последнюю версию, но я застрял с этой проблемой жадности ...
-
большое спасибо за все ответы, все они были довольно полезны, трудно решить, какой из них правильный, в конце концов, я решил:
grep -v '.*-RC.*' index.html | grep -oP 'play-1.*?.zip' | sort -Vru | head -1