字符后面的字符串[重复]

问题描述 投票:59回答:5

这个问题在这里已有答案:

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

 GenFiltEff=7.092200e-01

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

string bash extract
5个回答
54
投票
cut -d "=" -f 2 <<< "$your_str"

要么

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

74
投票

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

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

或者使用read

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

无论哪种方式,

$ echo $value
7.092200e-01

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

4
投票

这应该工作:

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

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

获得7。假设你的意思是整个字符串的其余部分,只需要离开:1

© www.soinside.com 2019 - 2024. All rights reserved.