【问题标题】:Trying to extract a version number from a line in a HTML doc using Unix on Mac尝试在 Mac 上使用 Unix 从 HTML 文档中的一行中提取版本号
【发布时间】:2019-04-30 08:55:26
【问题描述】:

我正在尝试从 Google 的网站 https://cloud.google.com/chrome-enterprise/browser/download/ 提取 Chrome 的当前稳定版本号,以添加到一个脚本中,该脚本将检查当前的稳定版本,如果不匹配则更新。我真的在第一关就跌倒了。

我在 Mac 上使用 #!/bin/sh 运行脚本。我使用的命令是:

currentVersion="$(curl https://cloud.google.com/chrome-enterprise/browser/download/ | grep "Chrome DMG for OS X")" 

这将隔离信息在 chrome 上的开发工具中显示的行:

<p class="cloud-browser__title-bold">
    Chrome DMG for OS X
    <br>
    <span class="cloud-browser-downloads__dl-row-version">
        v 70.0.3538.110
    </span>
</p>

但是当我拉它时,我想要的唯一一点 'v 70.0.3538.110' 没有显示。在版本字符串上的 any 上使用 grep 根本不会做任何事情。我只是不明白发生了什么。我认为它可能是从其他地方提取数字并填充页面,但我看不到任何证据(在 chrome 开发工具的可访问性视图中,它显示为文本)。

PLEH!!!提前致谢

【问题讨论】:

    标签: html macos google-chrome unix sh


    【解决方案1】:

    解决方案:

    如果你想要稳定的更新,有一个选项可以卷曲谷歌 Chorme 网络浏览器的更新日志页面,this,如果你想要所有版本,甚至是开发版本,this one。 命令是:

    curl https://chromereleases.googleblog.com/search/label/Stable%20updates | grep "Mac" | tr -d "<>-:;/,&\"=#[a-z][A-Z]" | head -1 | sed -e "s/666666//g;s/ . //g;s/ //g"
    

    输出是

    70.0.3538.110
    

    没有任何空格,是一个可以使用的字符串

    Google 的错:它使用静态技术更新网页

    如果您想从cloud.google.com/chrome-enterprise/browser/download/ 获取版本,您将最终没有结果。

    像现在一样工作的替代方案

    尝试在不同的网站上使用 curl,绕过谷歌使用静态工具来更改网页内的版本号。 只要 WhatIsMyBrowser 不关闭网站本身,这样的东西应该可以工作

    https://www.whatismybrowser.com/guides/the-latest-version/chrome | grep -A 1 "MacOS" | tr -d "<[a-z][A-Z]>/" 
    

    要知道你安装了什么版本

    如果您想提取当前安装的版本,只需输入
    google-chrome --version
    ,如果您只想提取要使用 bash 计算的版本,您必须输入
    /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --version | grep -iE "[0-9.]{10,20}"玩一点正则表达式。
    这适用于终端。
    还有一个直接来自 chrome 的 gui 版本,只需转到 url chrome://versionabout: 即可为您提供一个包含有关 chrome 的所有信息的站点

    【讨论】:

    • 对不起@Leonardo Silvagni,我正在尝试从谷歌收集当前可用的版本。我已经编辑了我的问题,因为它有点模棱两可。
    • @S.Smoonery 好吧,所以当你 grep 时它不显示?让我解决
    • 确实@Leonardo Silvagni 您可以直接从开发工具中将其复制到文本文件中,但 curl 无法解除它:(
    • @S.Smoonery 当然,这不是一个确定的方法,但它是我想到的最简单的解决方案。我真的不知道 google 是否提供了另一个网页来存储 chrome 的版本号,也许可以尝试使用 changelog,等我输入答案
    • @S.Smoonery 有帮助吗,你写剧本了吗?
    猜你喜欢
    • 2011-01-02
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 2021-10-22
    • 2012-10-16
    • 2014-08-28
    • 2011-09-08
    • 2021-08-08
    相关资源
    最近更新 更多