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?
cut -d "=" -f 2 <<< "$your_str"
ou
sed -e 's#.*=\(\)#\1#' <<< "$your_str"
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
echo "GenFiltEff=7.092200e-01" | cut -d "=" -f2
Cela devrait fonctionner:
your_str='GenFiltEff=7.092200e-01'
echo $your_str | cut -d "=" -f2
${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
.