如何在 Debian 10 上的 bash shell 脚本 运行 中使用 sed 或其他 bash 命令仅从 "go version" 命令中提取版本
How to extract only version from "go version" command using sed or other bash command in bash shell script running on Debian 10
命令 go version
当前打印 go version go1.13.6 linux/amd64
。我是从 go 网站而不是 Debian 软件包安装的,因为版本很旧。因此,不能使用像 dpkg -s
这样的传统方法来提取版本号。
我探索了 sed
命令以仅提取数字 (1.13.6) like this 本网站上的其他类似问题我同意你,但是在阅读了各种在线资源之后可能使用 sed 和我有限的知识,我一直无法弄清楚如何告诉 sed
找到起点,但仅此一项就可以让它成为新版本的未来证明,这可能是这个数字格式的轻微改变。我试图探索说 "find the 3rd to last number" 的方法,以便我可以向后工作。或者,"find the 2nd word 'go'".
目前的努力纯粹是理论上的,因为我找不到从哪里开始,所以我没有包括任何尝试。
可以做到吗?
$ v=`go version | { read _ _ v _; echo ${v#go}; }`
$ echo $v
1.13.6
进一步阅读:
命令 go version
当前打印 go version go1.13.6 linux/amd64
。我是从 go 网站而不是 Debian 软件包安装的,因为版本很旧。因此,不能使用像 dpkg -s
这样的传统方法来提取版本号。
我探索了 sed
命令以仅提取数字 (1.13.6) like this 本网站上的其他类似问题我同意你,但是在阅读了各种在线资源之后可能使用 sed 和我有限的知识,我一直无法弄清楚如何告诉 sed
找到起点,但仅此一项就可以让它成为新版本的未来证明,这可能是这个数字格式的轻微改变。我试图探索说 "find the 3rd to last number" 的方法,以便我可以向后工作。或者,"find the 2nd word 'go'".
目前的努力纯粹是理论上的,因为我找不到从哪里开始,所以我没有包括任何尝试。
可以做到吗?
$ v=`go version | { read _ _ v _; echo ${v#go}; }`
$ echo $v
1.13.6
进一步阅读: