Получить строку после символа

У меня есть строка, которая выглядит так:

 GenFiltEff=7.092200e-01

Используя bash, я хотел бы просто получить номер после символа =. Есть ли способ сделать это?

Ответ 1

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

или

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

Ответ 2

Используйте расширение параметра, если значение уже сохранено в переменной.

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

Или используйте read

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

В любом случае,

$ echo $value
7.092200e-01

Ответ 3

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

Ответ 4

Это должно работать:

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

Ответ 5

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

который получает 7. Предполагая, что вы имеете в виду всю оставшуюся часть строки, просто оставьте :1.