我有一个这样的字符串:
GenFiltEff=7.092200e-01
Using bash, I would like to just get the number after the = character. Is there a way to do this?
=
这应该会奏效:
your_str='GenFiltEff=7.092200e-01' echo $your_str | cut -d "=" -f2
对于第一个 =之后的文本和第二个 =之前的文本
cut -d "=" -f2 <<< "$your_str"
或者
sed -e 's#.*=\(\)#\1#' <<< "$your_str"
对于第一个 =之后的所有文本,不管是否有多个 =
cut -d "=" -f2- <<< "$your_str"
${word:$(expr index "$word" "="):1}
假设你指的是字符串的整个其余部分,只要省略 :1。
:1
echo "GenFiltEff=7.092200e-01" | cut -d "=" -f2
如果值已存储在变量中,则使用参数展开。
$ str="GenFiltEff=7.092200e-01" $ value=${str#*=}
或者使用 read
read
$ IFS="=" read name value <<< "GenFiltEff=7.092200e-01"
不管怎样,
$ echo $value 7.092200e-01