You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Bash脚本提取格式为1.8.0的Java版本?

解决Bash脚本提取Java主版本号的问题

你的Java版本输出如下:

openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

你之前的命令java -version 2>&1 | head -n 1 | cut -d'"' -f2得到的是1.8.0_312,要获取1.8.0格式的主版本号,可通过以下几种方式实现:

  • 方法一:二次cut分割
    在原有命令基础上追加下划线分割逻辑,完整命令:

    java -version 2>&1 | head -n 1 | cut -d'"' -f2 | cut -d'_' -f1
    

    逻辑:先用双引号分割拿到1.8.0_312,再用下划线分割取第一部分,得到主版本号。

  • 方法二:sed正则匹配
    直接通过正则提取数字.数字.数字格式的主版本部分,命令:

    java -version 2>&1 | sed -n 's/.*version "\([0-9]*\.[0-9]*\.[0-9]*\).*/\1/p'
    

    逻辑:匹配版本字符串中符合主版本格式的片段,直接提取输出。

  • 方法三:awk分割处理
    借助awk的多分割功能实现,命令:

    java -version 2>&1 | awk -F '"' '/version/{split($2,a,"_");print a[1]}'
    

    逻辑:先通过双引号分割出完整版本字符串,再用下划线分割为数组,输出数组第一个元素。

以上方法均可精准得到你需要的1.8.0格式版本号。

内容的提问来源于stack exchange,提问作者user15566016

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 01:15:39