Ваш сценарий создает длинную строку с большим количеством начальных пробелов.
bash$ curl -s https://slack.com/intl/es/release-notes/linux |
> grep "<h2>Slack" | head -1 |
> sed 's/[<h2>/]//g' | sed 's/[a-z A-Z]//g' | sed "s/ //g"
3.3.7
Вам нужна строка без пробелов, и длинный конвейер может быть значительно упрощен.
barh$ curl -s https://slack.com/intl/es/release-notes/linux |
> sed -n "/^.*<h2>Slack /{;s///;s/[^0-9.].*//p;q;}"
3.3.7
Обратите внимание также, что класс персонажа [<h2>/]
совсем не означает, что вы думаете.Он соответствует одному символу, который <
или h
или 2
или >
или /
независимо от контекста.Так, например, если бы номер текущей версии содержал цифру 2, вы бы тоже ее убрали.
Хотя скребание очень хрупкое.Я замечаю, что если я изменю /es/
в URL-адресе на /en/
, я вообще ничего не получу.Возможно, вы сможете найти лучший способ получить самую новую версию (использование apt
должно позволить вам установить самую новую версию без каких-либо сценариев на вашей стороне).