I have a string that looks like this:
 GenFiltEff=7.092200e-01
Using bash, I would like to just get the number after the = character. Is there a way to do this?
I have a string that looks like this:
 GenFiltEff=7.092200e-01
Using bash, I would like to just get the number after the = character. Is there a way to do this?
 
    
     
    
    Use parameter expansion, if the value is already stored in a variable.
$ str="GenFiltEff=7.092200e-01"
$ value=${str#*=}
Or use read
$ IFS="=" read name value <<< "GenFiltEff=7.092200e-01"
Either way,
$ echo $value
7.092200e-01
 
    
    For the text after the first = and before the next =
cut -d "=" -f2 <<< "$your_str"
or
sed -e 's#.*=\(\)#\1#' <<< "$your_str"
For all text after the first = regardless of if there are multiple =
cut -d "=" -f2- <<< "$your_str"
echo "GenFiltEff=7.092200e-01" | cut -d "=" -f2 
 
    
    This should work:
your_str='GenFiltEff=7.092200e-01'
echo $your_str | cut -d "=" -f2
 
    
    ${word:$(expr index "$word" "="):1}
that gets the 7.  Assuming you mean the entire rest of the string, just leave off the :1.
