在脚本中,我要检查是否已安装Java,以及Java是否比1.8更新。
java -version 2>$1 >/dev/null | egrep "\S+\s+version" | awk '{print substr($3,0,5)}' | tr -d '"'
我猜结果可能是这样的:
1.8.0_225
11.0.2
1.6.1_223
因此要使其具有可比性,请将此值映射到\d+\.\d+
:
1.80225
11.02
1.61223
可以通过将除了第一个点以外的不是数字的所有内容替换为空来实现。
答案 0 :(得分:0)
您可以在下面这样使用awk:
java -version 2>&1 | awk -F[\"._] '/version/{print $2"."$3$4$5$6$7}'
使用sed:
java -version 2>&1 | sed -Ee 's/.*"(.*)"$/\1/g;s/^([0-9]+\.[0-9]+\.)([0-9]+)[^0-9]/\1\2/g;q'