Bash 同时执行双字符串操作

Bash 同时执行双字符串操作,bash,Bash,我想在字符串上提取然后替换。有没有办法在同一个命令中执行此操作 假设我有这个变量: var="y=2,4" 我想要这个: 2.4 使用类似于${${var#*=}/,/.}的东西,您可以尝试sed $ var="y=2,4" $ sed 's/^.*=//;s/,/./g' <<< "$var" 2.4 $var=“y=2,4” $sed’s/^.*=/;在BASH中,不能像这样一次完成多个字符串操作 从技术上讲,这不是一个单独的操作,但在BASH中,您可以执行以下操作:

我想在字符串上提取然后替换。有没有办法在同一个命令中执行此操作

假设我有这个变量:

var="y=2,4"
我想要这个:

2.4

使用类似于
${${var#*=}/,/.}
的东西,您可以尝试
sed

$ var="y=2,4"
$ sed 's/^.*=//;s/,/./g' <<< "$var"
2.4
$var=“y=2,4”

$sed’s/^.*=/;在BASH中,不能像这样一次完成多个字符串操作

从技术上讲,这不是一个单独的操作,但在BASH中,您可以执行以下操作:

var="y=2,4"
[[ "$var" =~ ^.*=(.+)$ ]] && echo ${BASH_REMATCH[1]/,/.}
2.4

您是否希望变量
var
y
都具有值
2,4
?不,您实际上需要双引号。
echo "$var" | sed -n 's/y=//p' | tr , .