【问题标题】:How to extract only version from "go version" command using sed or other bash command in bash shell script running on Debian 10如何在 Debian 10 上运行的 bash shell 脚本中使用 sed 或其他 bash 命令从“go version”命令中仅提取版本
【发布时间】:2020-01-20 18:09:59
【问题描述】:

命令go version 当前打印go version go1.13.6 linux/amd64。由于版本较旧,我从 go 网站而不是 Debian 软件包安装。因此无法使用dpkg -s等传统的提取版本号的方法。

我已经探索了 sed 命令来仅提取数字 (1.13.6) like this 这个站点上的其他问题,我同意你,但是在阅读了各种在线资源后,了解了 sed 和我的有限的可能性知识我一直无法弄清楚如何告诉sed 找到起点,但仅此一项就可以为新版本提供未来证明,这可能是对这种数字格式的轻微改动。我试图探索如何说“找到倒数第三个数字”,以便我可以向后工作。或者,“找到第二个单词‘go’”。

目前的努力纯粹是理论上的,因为我找不到从哪里开始,我没有进行任何尝试。

可以吗?

【问题讨论】:

  • 在这样的情况下,我们确实鼓励用户添加他们为解决自己的问题而付出的努力,所以请在您的问题中添加相同的内容,然后让我们知道(我没有失望虽然投票)。
  • 你需要什么输出?

标签: shell sh


【解决方案1】:
$ v=`go version | { read _ _ v _; echo ${v#go}; }`
$ echo $v
1.13.6

进一步阅读:

【讨论】:

  • 欣赏进一步阅读链接,谢谢。我是来学习最有用的。
  • @JeffreyShran,这是一个非常好的方法,对此表示赞赏。如果有任何问题,请随时提出后续问题。
猜你喜欢
  • 2013-12-07
  • 2013-02-14
  • 1970-01-01
  • 1970-01-01
  • 2020-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多