LINUX.ORG.RU
ФорумAdmin

wget + sed как вытащить нужные данные?

 ,


0

1

Привет друзья. Подскажите как с помощью wget и sed сделать выборку из сайта с определёнными параметрами? Задача, среди версий postgres здесь: https://www.postgresql.org/ftp/source/ Найти самую старшую версию v12(коей будет являться v12.5) и сохранить для последующего сравнения с версий на сервере.

Самый простой способ насколько понимаю через wget получить сайт, отфильтровать через sed и дальше как-то сортировать. Но как задать sed условие чтобы из всего сайта остались только версии? Команду вижу такой:

wget -O - https://www.postgresql.org/ftp/source/ | sed «условие»

Ответ на: комментарий от anonymous
... | egrep -v "rc|beta" | tail -n1

если бэты и rc не нужны

anonymous
()
Ответ на: комментарий от anonymous

Спасибо, это работает. Поясните пожалуйста как работает это выражение ‘alt=«v\K.*?(?=»)’? И как сохранить результат обработки в переменную?

dualCore
() автор топика
Ответ на: комментарий от dualCore

[code=bash]pgsVer=$(команда)[/code]

-P - это PRCE \K - исключает из вывода всё, что попадает до нужного нам мечта. Т.е ‘alt="v’ выбрасываем. Берем .* исключая последнюю кавычку. как-то так

anonymous
()
Ответ на: комментарий от anonymous

Спасибо. А ещё скажите как мне регулировать выборку по версиям? Т.е. если мне надо выбрать старшую версию из 12 или 11 версий, то как это будет выглядеть?

dualCore
() автор топика

У них есть зеркало на github, у github есть API.

anonymous
()
Ответ на: комментарий от dualCore

ну ты прям совсем думать не хочешь.. не надо так.

например

grep ^12
перед tail

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.