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 , .