web-dev-qa-db-fra.com

Obtenir une chaîne après le caractère

J'ai une chaîne qui ressemble à ceci:

 GenFiltEff=7.092200e-01

En utilisant bash, je voudrais juste obtenir le numéro après le = personnage. Y a-t-il un moyen de faire cela?

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

ou

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

Utilisez le paramètre expansion si la valeur est déjà stockée dans une variable.

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

Ou utilisez read

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

D'une manière ou d'une autre,

$ echo $value
7.092200e-01
79
chepner
echo "GenFiltEff=7.092200e-01" | cut -d "=" -f2 
12
Greg Guida

Cela devrait fonctionner:

your_str='GenFiltEff=7.092200e-01'
echo $your_str | cut -d "=" -f2
3
jman
${Word:$(expr index "$Word" "="):1}

qui obtient le 7. En supposant que vous entendiez tout le reste de la chaîne, laissez simplement le :1.

3
Explosion Pills