我有一个看起来像这样的字符串:
GenFiltEff=7.092200e-01
使用bash,我想在=
字符后面得到数字。有没有办法做到这一点?
答案 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
。