获取字符后的字符串

时间:2013-03-01 01:18:10

标签: string bash extract

我有一个看起来像这样的字符串:

 GenFiltEff=7.092200e-01

使用bash,我想在=字符后面得到数字。有没有办法做到这一点?

5 个答案:

答案 0 :(得分:74)

如果值已存储在变量中,请使用参数展开。

$ str="GenFiltEff=7.092200e-01"
$ value=${str#*=}

或使用read

$ IFS="=" read name value <<< "GenFiltEff=7.092200e-01"

无论哪种方式,

$ echo $value
7.092200e-01

答案 1 :(得分:55)

cut -d "=" -f 2 <<< "$your_str"

sed -e 's#.*=\(\)#\1#' <<< "$your_str"

答案 2 :(得分:13)

echo "GenFiltEff=7.092200e-01" | cut -d "=" -f2 

答案 3 :(得分:4)

这应该有效:

your_str='GenFiltEff=7.092200e-01'
echo $your_str | cut -d "=" -f2

答案 4 :(得分:3)

${word:$(expr index "$word" "="):1}

获得7。假设您的意思是字符串的其余部分,请离开:1